向任何应用程序发送击键,从 MFC 应用程序中调用 .NET 以及其他
关键字:MFC 应用程序中调用 .NET 下载本文的示例代码: CQ A0501.exe(231KB) 问:我正在尝试编写一个应用程序,该应用程序通过向另外一个应用程序发送击键来填充窗体。我是应该发送WM_KEYDOWN和WM_KEYUP消息,还是有更好的方法? 许多读者 答:虽然通过发送
关键字:MFC 应用程序中调用 .NET
下载本文的示例代码:
CQA0501.exe (231KB)
问:我正在尝试编写一个应用程序,该应用程序通过向另外一个应用程序发送击键来填充窗体。我是应该发送 WM_KEYDOWN 和 WM_KEYUP 消息,还是有更好的方法?
许多读者
答:虽然通过发送 WM_KEYDOWN 和 WM_KEYUP 消息,您可能使应用程序进行工作,但是,SendInput 是一个专门为发送该消息而设计的 API函数。它通过采用一组 INPUT 结构(每个输入事件 ─ 击键或鼠标操作 ─ 对应一个结构)对输入(包括击键和鼠标事件)进行了组合。INPUT 结构包含一个联合,该联合可以是 MOUSEINPUT 或 KEYBDINPUT(或是模拟烘烤炉的 HARDWAREINPUT)。对于键盘,它如下所示:
struct KEYBDINPUT {
WORD wVk; // virt key code
WORD wScan; // hw scan code
DWORD dwFlags; // flags—see doc
DWORD time; // time stamp, 0 = dflt
ULONG_PTR dwExtraInfo; // app-defined
};
原文转自:http://www.ltesting.net