実行中の別のアプリケーションを名前、ID、またはプロセス ハンドルで処理する必要があります。ID と Process ハンドルを取得しましたが、ウィンドウのハンドルを取得して外部プログラムのタイトルを変更する方法がわかりません。
私のコードがあります:
BOOL CFindProcess::OnInitDialog()
{
CDialogEx::OnInitDialog();
CComboBox* pComboBox = (CComboBox*)GetDlgItem(IDC_COMBO_PROCESS);
HANDLE hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
PROCESSENTRY32 proc;
proc.dwSize = sizeof(PROCESSENTRY32);
if (Process32First(hSnap, &proc)){
pComboBox->AddString(proc.szExeFile);
while (Process32Next(hSnap, &proc)){
if (0!=wcscmp(proc.szExeFile, L"svchost.exe"))
pComboBox->AddString(proc.szExeFile);
if (wcscmp(proc.szExeFile, L"notepad.exe") == 0){
HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, proc.th32ProcessID);
GetProcessId(hProcess);
AfxMessageBox(L"Handeled");
//SetWindowText(hProcess, L"Weather");
CloseHandle(hProcess);
}
}
}
CloseHandle(hSnap);
return TRUE;
}
私の質問は、名前または ID で notepad.exe のウィンドウ ハンドルを取得する方法です。プロセスは MFC でハンドルしますか?