关键字: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
};
延伸阅读
文章来源于领测软件测试网 https://www.ltesting.net/