0

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 メソッドを使用してアプリケーションにメッセージを送信することです。

4

1 に答える 1