CreateProcess API 関数でアプリケーションを起動した場合、FindWindow API 呼び出しの lpClassName 文字列を見つける方法
PROCESS_INFORMATION ProcessInfo; //This is what we get as an [out] parameter
STARTUPINFO StartupInfo; //This is an [in] parameter
ZeroMemory(&StartupInfo, sizeof(StartupInfo));
StartupInfo.cb = sizeof StartupInfo ; //Only compulsory field
if(CreateProcess("c:\\temp\\application1.exe", NULL,
NULL,NULL,FALSE,0,NULL,
NULL,&StartupInfo,&ProcessInfo))
{
WaitForSingleObject(ProcessInfo.hProcess,INFINITE);
CloseHandle(ProcessInfo.hThread);
CloseHandle(ProcessInfo.hProcess);
}
else
{
MessageBox("The process could not be started...");
}
また、 FindWindow で名前の一部のみを設定する方法はありますか? たとえば、アプリ名が「application<いくつかのバージョン番号>.exe」であることを知っている場合、次のようになります:
application1.exe
application1.1.exe
application1.2.1.exe
最終的な目標は、Windows メッセージ システムと SendMessage API メソッドを使用してアプリケーションにメッセージを送信することです。