C#でWindowsアプリを開発するときの小ネタ集。 ウィンドウハンドルを取得する方法 Win32 APIでウィンドウを操作したりするときに必要になるのが、ウィンドウハンドルです。 自分のウィンドウなら、Control.Handleプロパティがあるので簡単です。 自分で起動したプロセスのメインウィンドウは、Process.MainWindowHandleで取得できます。ただし、すぐにウィンドウが開くわけではないので、ウィンドウが開くまで待つ必要があります。MicrosoftのドキュメントにはProcess.WaitForInputIdle()を使えとありますが、アプリの構造によってはうまく動作しません。 Process proc = Process.Start( "hoge.exe" ); // proc.WaitForInputIdle(); // うまくいかない場合がある while
![C# Windowsアプリ開発小ネタ集 - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/618c42e454d1626e2dad82effedcc21c64c46137/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9QyUyMyUyMFdpbmRvd3MlRTMlODIlQTIlRTMlODMlOTclRTMlODMlQUElRTklOTYlOEIlRTclOTklQkElRTUlQjAlOEYlRTMlODMlOEQlRTMlODIlQkYlRTklOUIlODYmdHh0LWFsaWduPWxlZnQlMkN0b3AmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZzPTlkM2FiY2YxMTU5OGVjZmNhM2IzZTcwYTVjMDYxM2Nj%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDBmZWxpc19zaWx2JnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz02MDYwZWViMzBlYjM1MzNlNjU3MjQ3YzZmYjE0OGRlZA%26blend-x%3D142%26blend-y%3D486%26blend-mode%3Dnormal%26s%3Da5497bcc1aca70fb006e02ce55848228)