我想用 VC 打开 Microsoft Security Essential 程序并单击 Scan now 按钮。我可以找到窗口但找不到控件。这是我的代码,当我运行此代码时它显示 Control not found 。我尝试通过单击“运行”程序中的“浏览”按钮来测试此代码,它可以工作,但是当我尝试与 Microsoft Security Essential 一起使用时,它找不到控件。我不知道为什么这个控件可能在 Tab 中。如何使用 FindWindowEx() 单击 Microsoft Security Essential 中的立即扫描按钮?
int run_ms(){
ShellExecute(NULL, L"open", L"C:/Program Files/Microsoft Security Client/msseces.exe", NULL, NULL, SW_SHOWNORMAL);
HWND w;
w=FindWindow(NULL, L"Microsoft Security Essentials");
if(w==NULL)
MessageBox(NULL,L"Not found",L"",MB_OK);
else{
HWND cb;
cb = FindWindowEx(w,NULL,NULL,_T("&Scan now"));
if(cb!=NULL)
{
SendMessage(cb,WM_LBUTTONDOWN, NULL,NULL);
SendMessage(cb,WM_LBUTTONUP, NULL,NULL);
}
else
MessageBox(NULL,L"Control not found",L"",MB_OK);
}
return 0;
}
我在 Microsoft Security Essential 中使用带有按钮的 Spy++,它显示如下
Caption : &Scan now
Class : ALT:BUTTON
I use FindWindowEx() like this cb = FindWindowEx(w,NULL,NULL,_T("&Scan now"));
但它没有找到控制。