用PostMessage给另一个程序窗口按钮发送WM_LBUTTONUP消息,该怎样使用,wparam,lparam怎样得到?请不要复制其他网页中的答案,谢谢!
WindowsAPI函数功能:
该函数将一个消息放入(寄送)到与指定窗口创建的线程相联系消息队列里,不等待线程处理消息就返回,是异步消息模式。消息队列里的消息通过调用GetMessage和PeekMessage取得。
函数原型:
BOOLWINAPIPostMessage(HWNDhWnd,UINTMsg,WPARAMwParam,LPARAMlParam);
参数说明:
hWnd:其窗口程序接收消息的窗口的句柄。可取有特定含义的两个值:
HWND_BROADCAST:消息被寄送到系统的所有顶层窗口,包括无效或不可见的非自身拥有的窗口、 被覆盖的窗口和弹出式窗口。消息不被寄送到子窗口
NULL:此函数的操作和调用参数dwThread设置为当前线程的标识符
Msg:指定被寄送的消息。
wParam:指定附加的消息特定的信息。
IParam:指定附加的消息特定的信息。
返回值:如果函数调用成功,返回非零,否则函数调用返回值为零
使用信息:
Windows NT: 3.1及以上版本;Windows:95及以上版本;Windows CE:1.0及以上版本;
头文件:winuser.h;
输入库:user32.lib;
Unicode:在Windows NT环境下以Unicode和ANSI方式实现。
C语言调用范例:
下面的示例演示如何使用 PostMessage 函数向专用窗口发布消息。
#defineWM_COMPLETE(WM_USER+0) //自定义的专用窗口消息//您可以可以使用如下的代码发布消息到创建了指定的窗口的线程的消息队列中
WaitForSingleObject(pparams->hEvent,INFINITE);VC++ PostMessage 的使用
defineWM_COMPLETE(WM_USER+0) \/\/自定义的专用窗口消息\/\/您可以可以使用如下的代码发布消息到创建了指定的窗口的线程的消息队列中 WaitForSingleObject(pparams->hEvent,INFINITE);lTime=GetCurrentTime();PostMessage(pparams->hwnd,WM_COMPLETE,1,lTime);...
VC++\/MFC中用PostMessage发送鼠标点击事件
坐标值应该是lParam,使用MAKEWPARAM合成,代码如下:int x=100,y=100;LPARAM lParam = MAKEWPARAM(x,y);::PostMessage(1234, WM_LBUTTONDOWN, 1, lParam);但这样1234窗口只响应OnLButtonDown事件,而不会响应 点击确认按钮的事件,我理解与你的要求不符合。正确的做法如下:找到1234确认按钮对应的按钮I...
C++获取光标所在位置的句柄,并向光标处发送数据,用PostMessage...
具体操作方法:运行程序,让后将鼠标指针移动至其他窗口之上,最好是在标题栏上;然后按下键盘上的任意按键(推荐按字母键)。在VC++6.0“文件”菜单中,新建一个空的“Win32 AppLication”工程。然后新建一个.cpp源文件,在源文件中写入如下代码:include <windows.h>LRESULT CALLBACK WindowProc(HWND...
在VC++的MFC对话框中,怎样显示一个对话框
1.在响应按钮的代码中输入:CDialog::OnOK();\/\/关闭本对话框,如果你不要关闭本对话框,请注释掉 HWND ParentWnd=::GetParent(this->m_hWnd);::PostMessage(ParentWnd,WM_MyMessage,0,0);2.然后在此源文件申明中加上:define WM_MyMessage WM_USER+100 3.在父对话框类中添加相同的申明:def...
求用VC++6、MFC(基本对话框)编一个计算器的具体步骤。 请给我发一个...
IDC_STAnum1 在属性 Styles Align text -->Center 并在 Center vertically 和 Notify前面划勾 Extended Styles 在 Modal frame 前面划勾 然后在CalssWizard 中Object IDs找到控件 并选择Messages中的 BN_CLICKED 编辑代码 函数如下:::PostMessage(GetFocus()->m_hWnd,WM_CHAR,'E',0);...
VC++编写一个对话框应用程序,启动后弹出一个用户身份确认对话框,当用户...
MessageBox("验证未通过","登陆提示",MB_OK); \/\/AfxGetMainWnd()->PostMessage (WM_QUIT); \/\/EndDialog(IDCANCEL); } CDialog::OnOK();} 本回答由提问者推荐 举报| 答案纠错 | 评论(1) 4 1 下载要号真麻烦 采纳率:31% 擅长: VC++ C\/C++ JAVA相关 操作系统\/系统故障 python 其他...
VC++怎么设置对话框大小?
WM_SYSCOMMAND,SC_MAXIMIZE);\/\/最大化显示\\x0d\\x0aPostMessage(WM_SYSCOMMAND,SC_MAXIMIZE);\/\/最大化显示\\x0d\\x0a注:SendMessage是随调随用,PostMessage是把消息发送到消息队列,一个一个执行,看你怎么用了\\x0d\\x0a\\x0d\\x0a} ...
VC++ 的SetTimer怎样马上执行?
SetTimer调用后必须等待间隔时间才发送第一条WM_TIMER消息的,如果一定要立刻执行,不妨调用SendMessage直接发送WM_TIMER消息。
消息和事件的区别 VC++解惑
首先要明确VC++中使用消息映射技术处理“消息”和“事件” ,通过DECLARE_MESSAGE_MAP()等宏通杀 事件就是“当...的时候”,事件总是和一个ID有关 消息就是“嗨!你该干...了” ,VS2005以上的“消息”标签中就是VC6 Windows Messages Handler中的内容 我们一般都是在 "当...的时候" 干 XXX...
VC++\/MFC 后台模拟按键
写0就行。第三个是个是个DOWRD类型, KEYEVENTF_KEYUP是弹起,0为按下,最后一个具体干啥也不太清楚,写0即可。。。第一个是虚拟键码不是ASCII码,具体虚拟见码可以查虚拟键表。。。影响不影响前台,要看你程序怎么写,在你前台打字的过程中,发几个这东西肯定影响。。。