开门见山,不废话了, 直接举例说明一下: 比如发送ALT + F 以下是 用spy++截取的消息内容 <00001> 000310DC P WM_SYSKEYDOWN nVirtKey:VK_MENU cRepeat:1 ScanCode:38 fExtended:0 fAltDown:1 fRepeat:0 fUp:0<00002> 000310DC P WM_SYSKEYDOWN nVirtKey:'F' cRepeat:1 ScanCode:21 fExtended:0 fA…
[背景] 公司做视频影像采集,平时采集图像的时候都需要打开采集窗口,然后需要开着采集窗口来进行图像采集.同事问我能不能做一个全局快捷键,哪怕我没有操作也可以采集图像.说干就干,一直想做全局快捷键了,网上找了一些代码,凑合了一下,达到了实现的效果,同事反应使用效果不错. [知识点] 本代码有如下Delphi知识可以参考学习: 1.Delphi ini文件的读取写入. 2.Delphi全局快捷键的检测和注册. 3.Delphi给指定窗体发送按键. 4.Delphi任务栏显示.隐藏自己的程序. 5.D…
有时需要出发菜单功能,例如发送ALT + F打开应用程序的文件菜单,如何使用SendMessage实现呢? 使用用spy++截取的ALT+F的消息内容(如何使用spy++,请熟悉的高手指点下,我使用spy++ lite没有得到):<00001> 000310DC P WM_SYSKEYDOWN nVirtKey:VK_MENU cRepeat:1 ScanCode:38 fExtended:0 fAltDown:1 fRepeat:0 fUp:0<00002> 000310DC P…
ShowDialog(); // 模式窗体 Show(); // 非模式窗体 区别: 返回值不同,DialogResult/void 模式窗体会使程序中断,直到关闭模式窗口 打开模式窗体后不能切换到应用程序的其他窗体 子窗体和模式窗体互斥. 作者:耑新新,发布于  博客园 转载请注明出处,欢迎邮件交流:zhuanxinxin@foxmail.com…
非规则窗体可能会需要加的功能代码: 1:因为没有了最上边的标题栏,所以需要加窗体鼠标拖动功能,在Form里面加如下代码: #region 移动窗体 // 移动窗体 const int WM_NCLBUTTONDOWN = 0xA1; const int HT_CAPTION = 0x2; [System.Runtime.InteropServices.DllImport("user32.dll")] static extern int SendMessage(IntPtr hWnd,…
原文网址:http://zhoumf1214.blog.163.com/blog/static/5241940200910265532959/ 最近在用VC2008做开发,后来由于要用到消息的发送,而且需要自定义消息,在网上查找了很多例子,根据他们所说的,虽然大致都差不多,但是基本上没有一个能完全做出来的.要知道VC编程有一个小地方出错,都可能是个让你头晕脑胀的事情.经过我后来不但探索,经过改进之后,一点错误都没有,现在贴出来供大家参考. 1. 先来个基本知识介绍 SendMessage的基本结…
原文:C#中使用SendMessage进行进程通信的实例 1 新建解决方案SendMessageSecondExample 在解决方案下面新建两个项目:Sender和Receiver,两者的输出类型均为"Windows 应用程序".整个程序的结构如下图所示. 2 实现项目Sender Sender仅包含一个名为"消息发送者"的窗体,如下图所示. 编写窗体后端代码,如下所示. using System; using System.Diagnostics; using…
原文地址:http://blog.csdn.net/u013096568/article/details/53400389 panel上可以通过DrawToBitmap截图,不管是否在屏幕外是否有遮挡 Bitmap sourceBitmap = new Bitmap(400, 300); //Control ct = frmMain.mianForm.panel1 as Control; //ct.DrawToBitmap(sourceBitmap, new System.Drawing.Rec…
对话框不是模式就是无模式的.模式对话框,在可以继续操作应用程序的其他部分之前,必须被关闭(隐藏或卸载).例如,如果一个对话框,在可以切换到其它窗 体或对话框之前要求先单击“确定”或“取消”,则它就是模式的. 一.如何调用 任何窗体(派生于基类Form的类),都可以以两种方式进行显示. //非模式窗体 From qform=new Form(); qform.Show(); //模式窗体 Form qform=new Form(); qform.ShowDialog(); 一.控制权上的区别 Fo…
原文:C#中使用SendMessage在进程间传递数据的实例 1 新建解决方案SendMessageExample 在解决方案下面新建三个项目:CopyDataStruct,Receiver和Sender. 其中,CopyDataStruct项目的输出类型为"类库",Receiver和Sender项目的输出类型为"Windows 应用程序". 整个实例程序的结构如下图所示. 2 CopyDataStruct项目实现 定义结构体COPYDATASTRUCT,代码如下所…