|
MSDN을 보시면은 CreateProcess()는 새롭게 실행시킨 프로세서가 초기화되서 실행되는거를
기다려주지 않는다고 하네요...즉 바로 리턴이 된다는거지요..성공이냐 실패냐..
그래서 새로운 프로세서를 실행하고 나서 바로 FindWindow()를 하지않고.
WaitForInputIdle() api로 프로세서가 실행될때까지 기다린다음 FindWindow()로 윈도우 핸들을 찾는다고 나와 있네요...
아 예전에 할때 왜 저렇게 안했지..ㅡㅡ;
저는 ShellExecute()로 사용했는데요..
이문제를 어떻게 해결했냐면
ShellExecute();
sleep();
FindWindow();
이렇게 했답니다...ㅜㅜ 즉 실행하고 약간의 텀을 준다음에 윈도우 핸들을 찾는거지요..ㅡㅡ;
이렇게 하면은 sleep()을 얼마나 주어야 하는지 애메모호하답니다...ㅠㅠ
: 어떤 Application에 상관없이 바로 실행시킨 Application의 Handle를 얻고자 하는겁니다.
이거는 얻을수도 있고 그렇지 않을수도 있다는거에요..^^;
확실히 하는 방법은 새롭게 실행시킨 Application이 실행될때까지 기다린다음 핸들을 얻을수 밖에 없을겁니다. 위에 설명한거처럼요...^^
|