質問: NULL){ std::cout << "not handle" << std::endl; return; } /* ウィンドウタイトルの表示 */ std::cout << buf << std::endl; std::cout << 234 << std::endl; return ; } int main(){ system("C:\\Users\\nana\\Desktop\\mimi\\ResearchProject"); DoGetActiveWindow(); return 0; } ``` 出力はこのようになっています コマンド プロンプト - a.exe 234 外部ファイルを読み込む方法を教えていただけると幸いです。windousでしています。 よろしくお願いいたします。
回答: たぶん > > system("C:\\Users\\nana\\Desktop\\mimi\\ResearchProject"); > > > を実行した直後にはまだこのEXEが起動していない(ウィンドウがいない)ので、 自分自身がフォアグラウンドになっているだけかと思います。 適当で良ければsleep等で数秒待ってからDoGetActiveWindow()を呼び出してみてください。 厳密にやるのであれば、CreateProcess API辺りでexeを起動し、 WaitForInputIdle APIでそのプロセスがアイドル状態になるまで待てば、 DoGetActiveWindow()で期待した結果が得られるかと思います。