Q&A

  • 이런게 가능한지요...
안녕하세요. 물어볼께 있어서 그러는데요...
제가 구현할려는게 아래의 것인데 가능한지 알고 싶어서요...
가능하다면.. 참고할만한 소스나 설명좀 부탁드립니다..

메인폼에서 버튼 클릭하면 외부 프로그램을 실행시키고 실행시킨 외부프로그램에 포커스가 가도록 합니다.
그리고 실행시킨 프로그램에서 키보드의 F6키를 누르면 Ctrl+L 키를 누르는것과 같게 구현 할려고 합니다.

이게 가능할런지... 저는 외부프로그램을 실행시키고 실행시킨 프로그램에 포커스가 가도록.... 여기까지
코딩했거든요... 실행시킨 외부프로그램에서 키보드를 탐지해야 하는데... 어떻게 해야 하는지...
고수님들... 부탁드립니다...
3  COMMENTS
  • Profile
    KDDG_BaSTaD 2003.02.10 17:14
    ==> 그 프로그램으로 키를 누른것처럼 메시지를 날리믄 됩니다. 이런 기능들은 이미 가상키보드라는 프로그램들로 많이 익숙하지요. 델파이 7 CD내에 Extra 폴더를 보시면 SendKey32.pas라는 유닛이 있습니다. 이걸 사용하시면 한방에 해결됩니다. 함수도 딸랑 두개뿐이군요..

    function AppActivate('WindowName'): Boolean;
    function SendKeys('KeyString', Wait): Boolean;

    찾아서 메시지 보내기!! ^^;; Ken Henderson 이 사람이 맹길었네요..
  • Profile
    안중태 2003.02.10 20:05


    제 말을 약간 이해못하신거 같은데....
    그러니까요...

    외부프로그램을 실행시키고요... 이 외부프로그램에서 아무때나
    F6 키를 누를때 Ctrl+L 키처럼 누르게 할려고 하거든요...
    그리고 전.. 델파이5를 쓰고 있습니다...
  • Profile
    KDDG_BaSTaD 2003.02.11 01:50

    ==> 내 프로그램에서 외부 프로그램을 실행시킨후, 새로 실행된 외부프로그램에서 F6키를 누르면 대신 Ctrl+L을 누르게한다는 말씀이시죠? 기보드 훅하시면 됩니다. 다른 윈도우라고 다를거 없습니다. 새로 실행한 프로그램에 키보드 훅을 설치하신후, 메시지를 잡아서 처리하시면 됩니다. 아니면, 위의 sndkey32를 이용해서 직접 보내실 수 도 있구요..