sendmessage-C# postmessage 键盘消息问题

问题描述

C# postmessage 键盘消息问题

SendMessage(s, CommonConst.WM_LBUTTONDBLCLK, IntPtr.Zero, IntPtr.Zero);
PostMessage(s, CommonConst.WM_SYSKEYDOWN, CommonConst.VK_NUMPAD1, 0);

这是两条发消息的代码。s是我定义的获取的记事本的edit的句柄。但第一条sendmessage能够成功执行,第二条postmessage 却没有反应,请问各位大神这是为什么呢

解决方案

唔...
SendMessage():消息被处理->返回
PostMessage():直接返回(不知道何时处理)
稍微等一等会看到PostMessage发送的消息被处理吗?

时间: 2024-09-17 03:41:47

sendmessage-C# postmessage 键盘消息问题的相关文章

IE中ocx控件的无模式对话框不接收方向键等键盘消息的问题的解决办法

在ocx控件中如果含有无模式对话框,那么当ocx在ie中显示时,往往接收不到 诸如tab,方向键和退格键.所有这些消息都被IE容器给截取了,对于这个问题,ms给出了解决方法: 首先:   int CMyActiveXCtrl::OnCreate(LPCREATESTRUCT lpCreateStruct)   {      if (COleControl::OnCreate(lpCreateStruct) == -1)         return -1;      OnActivateInPl

在C#中SendMessage和PostMessage的参数传递

本文源码下载地址:http://download.csdn.net/detail/testcs_dn/5152868 在C#中可以使用Window API提供的SendMessage和PostMessage来传递参数.两者的区别简单介绍下:返回值的不同,我们先看一下 MSDN 里的声明: LRESULT SendMessage( HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam ); BOOL PostMessage( HWND hWnd, UI

显示SendMessage和PostMessage的区别

        这是一个小的例子在于演示SendMessage和PostMessage的区别,其区别简单来说,就是前者会等待对方的窗口过程返回,后者则仅仅给对方的消息队列中投放一个消息立即返回,不会阻塞.因此两个函数的返回值不同,前者为窗口过程的返回值(LRESULT),后者仅投递消息,因此仅返回BOOL表示是否投递成功.               源代码下载链接(VC6):        http://files.cnblogs.com/hoodlum1980/SendMsgTest.rar

用ImessageFilter接口实现截获键盘消息

用ImessageFilter接口实现截获键盘消息 屠恩海(sunhai) IMessageFilter 接口 IMessageFilter 接口允许应用程序在消息被调度到控件或窗体之前捕获它. 可以将实现 IMessageFilter 接口的类添加到应用程序的消息泵中,以在消息被调度到控件或窗体之前将 它筛选出来或执行其他操作.若要将消息筛选器添加到应用程序的消息泵中,请使用 Application 类中的 AddMessageFilter 方法. Application.AddMessage

C#中键盘消息的响应

Windows窗体通过引发键盘事件来处理键盘输入以响应Windows消息,大多数Windows窗体应用程序都通过处理键盘事件来以独占方式处理键盘输入.为了更好的掌握Windows窗体中键盘处理的相关操作,程序开发人员应该了解键盘消息的工作方式,以便实现更高级的键盘输入方案(例如,在按键到达控件之前截获它们等).本节将详细介绍有关Windows窗体中键盘处理操作的相关内容. 1.按键的类型 Windows窗体将键盘输入标识为由按位Keys枚举表示的虚拟键代码.使用Keys枚举,可以综合一系列按键以

c#-窗体无法接受键盘消息

问题描述 窗体无法接受键盘消息 用窗体生成器自动生成的代码 private void Form1_KeyDown(object sender KeyEventArgs e) { MessageBox.Show(""af""); if (listBox1.Items.Contains(e.KeyCode)) { listBox1.Items.Remove(e.KeyCode); listBox1.Refresh(); //this part will increse

应用-C++窗口外获取键盘消息

问题描述 C++窗口外获取键盘消息 如题,就像金山词霸一样,不管应用程序最小化还是位于其他窗口下面,我按一下F4 就能打开取词开关,再按一下关闭取词开关,这个用C++怎么实现呢?或者相关函数 解决方案 HOOK编程,用钩子来监听键盘按键 解决方案二: hook windows API TExtOut等 解决方案三: SetWindowsHookExW & CallNextHookEx SetWindowsHookExW(WH_KEYBOARD_LL, (HOOKPROC)HookKeyBoard

mfc edit控件怎么响应键盘消息?

问题描述 mfc edit控件怎么响应键盘消息? 比如我用edit做个密码框,输入完密码,直接按回车键就可以登录.不用鼠标去点按钮了,这样怎么做呢? 解决方案 添加edit控件的键盘消息映射,ON_WM_KEYDOWN( ),添加对应处理函数的代码,通过检测输入的是否是回车来决定登录动作.

c# PostMessage发消息单击,X和Y做标的位置怎么写。

问题描述 比如在VB里是这样写的PostMessagehWnd1,WM_LBUTTONDOWN,0,(x+Y*65536)PostMessagehWnd1,WM_LBUTTONUP,0,(x+Y*65536)请用一下在C#怎么引用和怎么去写呢谢谢 解决方案 本帖最后由 linyu622 于 2012-05-26 07:50:36 编辑解决方案二:已获取窗口句柄,,向窗口里的按钮发消息解决方案三:[DllImport("User32.dll")]publicstaticIntPtrPos