WEB开发网
开发学院软件开发VC 如何从 MFC 应用程序中调用 .NET 框架 阅读

如何从 MFC 应用程序中调用 .NET 框架

 2006-07-20 11:41:42 来源:WEB开发网   
核心提示:本文示例源代码或素材下载 如何发送击键到其它应用程序?关于如何通过编程来发送 Ctrl+Alt+Del 击键?如何从 MFC 应用程序中调用 .NET 框架?我想编写一个应用程序,它能通过击键将信息写到另外一个应用程序的窗体中,如何从 MFC 应用程序中调用 .NET 框架,我是不是应该发送 WM_KEYDOW

本文示例源代码或素材下载

如何发送击键到其它应用程序?

关于如何通过编程来发送 Ctrl+Alt+Del 击键?

如何从 MFC 应用程序中调用 .NET 框架?

我想编写一个应用程序,它能通过击键将信息写到另外一个应用程序的窗体中。我是不是应该发送 WM_KEYDOWN 和 WM_KEYUP 消息?有没有更好的办法?

发送 WM_KEYDOWN 和 WM_KEYUP 消息也许能行得通,但 SendInput 是专门被设计用于此目的的 API 函数。它通过 INPUT 结构数组参数来合成包括击键和鼠标事件在内的输入,每个 INPUT 结构数组元素对应一个输入事件——击键或鼠标动作。INPUT 结构含有一个联合类型,其成员为 MOUSEINPUT,KEYBDINPUT (或 HARDWAREINPUT,仿真面包烤箱)。对于击键来说其 KEYBDINPUT 结构如下:

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
};   

所以向另外一个应用程序发送击键其实就是建立一个 INPUT 数组,每一个数组元素对应一次击键(弹起和按下),然后调用 SendInput 函数。为了示范其实际使用方法,我编写了一个叫 Typematic 的小程序,你只要按下一个热键,便可以快速将姓名、地址、电话号码或其它信息敲入窗体中。这对于网上购物者们来说是件很理想的事情。当你第一次运行 Typematic 时,显示的对话框如 Figure 1 所示:

Figure 1 Typematic 的初始对话框

按 “OK”按钮后进入隐藏状态。其后你可以按 <WinKey>+T 来重新激活 Typematic,显示如 Figure 2 所示的对话框:

1 2 3 4 5  下一页

Tags:如何 MFC 应用程序

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接