我想创建一个模拟按键或只是将文本写入特定应用程序窗口的程序。 这是我尝试过但它似乎不起作用。
void MainWindow::on_startButton_clicked()
{
HWND windowname = FindWindow(NULL, L"<mywindowname>");
SendMessage(windowname, WM_SETTEXT, NULL, (LPARAM)"Window");
}
有什么想法吗?
答案 0 :(得分:0)
所以今天我发现SendMessage
只发送一个字符(至少它是我问题的解决方案)。因此,对于字符串,我必须对其中的每个字符执行以下操作。
QString string = "Hello";
foreach(QChar c, string){
SendMessage(windowname, WM_KEYDOWN, (int)c-0x20, 0);
SendMessage(windowname, WM_CHAR, (int)c-0x20, 0);
SendMessage(windowname, WM_KEYUP, (int)c-0x20, 0);
}
For more information about this function and deeper details on WM_KEY's etc. click here