Process.Start()를 사용하여 C# 응용 프로그램에서 시작한 후 창 핸들 (IntPtr)을 가져 오는 방법이 있습니까?C# 프로세스 시작 후 창 핸들을 얻으십시오.
4
A
답변
18
주 창이있는 경우 Process.MainWindowHandle
은 필요한 것을 제공합니다.
3
사용이 가득 될 때까지 루프 잠을 할 수 있습니다 있도록 응용 프로그램을 실행할 때 그것은 아마 0
process.MainWindowHandle;
.
2
또한 정확한
+0
좋은 정보, 나는 그것을 염두에 두겠다. –
3
이 최근 화제가 아니라 답변이 불완전의 정보를 확인하는 과정에서 새로 고침()를 호출 할 수있다.
나는 Process.MainWindowHandle 솔루션에 동의하고 값을 기다리지 만 절전 모드에서는 기다리지 않습니다.
프로세스를 시작한 후 주 창 핸들을 사용하려는 경우 WaitForInputIdle 메서드를 사용하여 프로세스 시작을 허용하고 주 창 핸들이 만들어 졌는지 확인하십시오.
이 과부하 때문에, 사용자 인터페이스 프로세스 만 적용되며
메시지 루프.
관련 문제
- 1. 윈도우의 모든 핸들을 얻으십시오
- 2. C# 동기 프로세스 시작
- 3. 프로세스 '핸들을 열거하는 방법?
- 4. 실행중인 프로세스 이름을 지정하여 창 핸들을 얻는 방법은 무엇입니까?
- 5. 특정 Excel 프로세스의 창 또는 프로세스 핸들을 얻는 방법은 무엇입니까?
- 6. 프로세스 ID에서 프로세스 핸들을 얻는 방법은 무엇입니까?
- 7. C#의 프로세스 시작 확인
- 8. C#에서 프로세스 시작 콘솔을 사용하지 않고
- 9. IntPtr 창 핸들을 IWin32Window로 변환^
- 10. 창 핸들 핸들 (c)
- 11. 사용자 계정으로 프로세스 시작
- 12. 매개 변수가있는 프로세스 시작
- 13. 창 핸들을 사용하여 윈도우를 최상위로 만듭니다.
- 14. 리눅스에서 프로세스 시작 시간
- 15. FindWindowEx가 창 핸들을 찾을 수 없습니다.
- 16. "창 핸들을 생성하는 중 오류가 발생했습니다"
- 17. 트랜잭션에서 새 프로세스 시작
- 18. 내 프로세스/프로그램 시작 프로세스/프로그램 검색
- 19. pid에서 _complete_ 프로세스 이름을 얻으십시오.
- 20. 코코아에서 객체로 프로세스 (예 : TextEdit)를 얻으십시오
- 21. 외부 프로세스 시작 및 완료 후 값 설정
- 22. 창 높이/너비를 실시간으로 얻으십시오
- 23. C#을 사용하여 창 핸들을 가져오고 키보드 입력을 비활성화하는 방법?
- 24. 윈도우 핸들을 사용하여 C#
- 25. 숨겨진 프로세스 창 활성화
- 26. VB.NET 2010에서 프로세스 시작 및보기
- 27. 윈도우 시작 메뉴의 위치를 얻으십시오.
- 28. 프로세스 핸들을 위해 사용해야하는 SafeHandle 구현은 무엇입니까?
- 29. Windows에서 프로세스 핸들을 알리는 시점은 언제입니까?
- 30. 스트림에서 프로세스 시작
안녕하세요. 내게는 핸들이 항상 0이고 무한 반복 후에도 다른 값으로 이동하지 않습니다. 다음 코드를 사용합니다 : proc.StartInfo.FileName = @ "C : \ Documents and Settings \ SUM \ Desktop \ PortableApps \ Notepad ++ Portable \ Notepad ++ Portable.exe"; proc.StartInfo.Arguments = String.Empty; proc.Start(); IntPtr appHwnd = proc.MainWindowHandle; while (appHwnd == IntPtr.Zero) { Thread.Sleep (100); appHwnd = proc.MainWindowHandle; } 무엇이 잘못 되었나요? – Marcel
이 (http://www.xtremedotnettalk.com/showpost.php?s=b115a21c0601804f80c9a2680db9c38f&p=461829&postcount=4)에 따르면 응용 프로그램이 대화 상자를 표시하거나 플래시를 먼저 초기화하기 때문에 0 일 수도 있습니다. – Marcel