各位大哥,小弟谢了一个程序: 在安装驱动的时候弹出下图的对话框,想通过发送虚拟键消息实现点击“Continue Anyway”的功能。
弹出这个对话框时,焦点在“STOP Installation”.通过键盘按两次Tab键,焦点到“Continue Anyway”.可是通过发送消息的方式总是失败,每次多在点击“Stop Installation”空间。
各位大哥帮帮忙,马上就deadline了下面是发送消息的代码:
DWORD WINAPI HDInstallDlg(LPVOID lpParam)
{
HWND hd;
while(1)
{
printf("Hardware Installation\n");
hd = FindWindow(NULL,"Hardware Installation");
if(NULL != hd)
{
::SendMessage(hd,WM_KEYDOWN,VK_TAB,NULL);
::SendMessage(hd,WM_KEYDOWN,VK_TAB,NULL);
::SendMessage(hd,WM_KEYDOWN,VK_RETURN,NULL);
break;
}
Sleep(500);
}
return 0;
}
int main()
{
DWORD dwThreadId2;
char sequence[20] = "Full Speed Drive";
HANDLE hThread2 = CreateThread(NULL, 0, HDInstallDlg,
(LPVOID)sequence, 0, &dwThreadId2); InstallDrive();}
弹出这个对话框时,焦点在“STOP Installation”.通过键盘按两次Tab键,焦点到“Continue Anyway”.可是通过发送消息的方式总是失败,每次多在点击“Stop Installation”空间。
各位大哥帮帮忙,马上就deadline了下面是发送消息的代码:
DWORD WINAPI HDInstallDlg(LPVOID lpParam)
{
HWND hd;
while(1)
{
printf("Hardware Installation\n");
hd = FindWindow(NULL,"Hardware Installation");
if(NULL != hd)
{
::SendMessage(hd,WM_KEYDOWN,VK_TAB,NULL);
::SendMessage(hd,WM_KEYDOWN,VK_TAB,NULL);
::SendMessage(hd,WM_KEYDOWN,VK_RETURN,NULL);
break;
}
Sleep(500);
}
return 0;
}
int main()
{
DWORD dwThreadId2;
char sequence[20] = "Full Speed Drive";
HANDLE hThread2 = CreateThread(NULL, 0, HDInstallDlg,
(LPVOID)sequence, 0, &dwThreadId2); InstallDrive();}
PostMessage(hwndBtn, BM_CLICK, 0, 0 )