검색하니 xBlockInput 를 이용해서 키보드와 마우스를 제어할 수 있다는걸 확인했습니다.
서버쪽에서 버튼을 한번 누르면 클라이언트 쪽 키보드와 마우스를 제어시키고
다시 한번 더 누르면 클라이언트 쪽 키보드와 마우스 제어를 해제시키고 싶습니다.
SameText 를 이용해서 서버쪽에서 보내주는 메세지에 따라서
xBlockInput(False) 또는 xBlockInput (True) 를 해 줬는데
뭐가 문제인지 sleep()의 기간을 길게 주면 클라이언트의 키보드와 마우스를 사용할 수 없게 제어가 되는데
풀어주는 부분에서는 바로 해제가 안되네요..
if FunctionDetect( 'USER32.DLL', 'BlockInput', @xBlockInput )=True then begin
if SameText(sCommand, 'Message Client Control Start!') then begin
xBlockInput( True ); // Disable Keyboard & mouse
Sleep(360000);
end else if SameText(sCommand, 'Message Client Control Stop!') then begin
xBlockInput( False ); // Enable Keyboard & mouse
end;
end;
제가 작성한 코드 입니다...
왜 안되는지 도저히 모르겠습니다..
혹시나 해서
if FunctionDetect( 'USER32.DLL', 'BlockInput', @xBlockInput )=True then begin
if SameText(sCommand, 'Message Client Control Start!') then begin
xBlockInput( True ); // Disable Keyboard & mouse
Sleep(360000);
xBlockInput( False );
end else if SameText(sCommand, 'Message Client Control Stop!') then begin
xBlockInput( True );
Sleep(1000);
xBlockInput( False ); // Enable Keyboard & mouse
end;
end;
이런 식으로 중간에 sleep을 했다가 푸는걸로도 해봤는데 바로 풀리지 않네요..
해결방법 좀 알려주세요...ㅠ_ㅠ