我想一个ALT-S发送到一个对话框,提示保存使用PostMessage的文件:发送ALT-S的一个窗口
PostMessage(h, WM_KEYDOWN, VK_MENU, 0);
PostMessage(h, WM_KEYDOWN, ord('S'), 0);
PostMessage(h, WM_KEYUP, ord('S'), 0);
PostMessage(h, WM_KEYUP, VK_MENU, 0);
但它不工作。它发送两个密钥,但好像ALT条件不被对话框识别,并作为普通的S字符处理。
我已经做了大量的阅读,其中包括this(这产生了一个错误),似乎我需要在lparam中做些事情来表明ALT被抑制。有些消息来源说0x20000000,但这也不起作用。
SendInput,keybd_event等将不适用于我,因为对话框将不会被聚焦。
我很难过会欣赏一些见解。
如果用户没有运行您所使用的操作系统的版本或语言版本会怎么样?你怎么知道标签实际上叫'&Save'? –
谢谢,但这不是一个因素。这是一个特定客户端的非常专业的应用程序。 –
伪造键盘输入是做这件事的难办法。简单地发送一个WM_COMMAND消息到按钮窗口会容易得多。 –