C语言什么函数能发送鼠标移消息?postmessage能吗

作者&投稿:蔽凯 (若有异议请与网页底部的电邮联系)
用PostMessage函数发送消息时如何传递坐标~

有了MSDN, 什么查不到?

http://msdn.microsoft.com/en-us/library/ms646243(VS.85).aspx


WM_RBUTTONUP


WPARAM wParam
LPARAM lParam;
Parameters

wParam
Indicates whether various virtual keys are down. This parameter can be one or more of the following values.
MK_CONTROL
The CTRL key is down.
MK_LBUTTON
The left mouse button is down.
MK_MBUTTON
The middle mouse button is down.
MK_RBUTTON
The SHIFT key is down.
MK_XBUTTON1
Windows 2000/XP: The first X button is down.
MK_XBUTTON2
Windows 2000/XP: The second X button is down.

下面就是说坐标的:用lParam 表示
lParam
The low-order word specifies the x-coordinate of the cursor. The coordinate is relative to the upper-left corner of the client area. lParam 低位表示x

The high-order word specifies the y-coordinate of the cursor. The coordinate is relative to the upper-left corner of the client area. lParam 高位表示y



PostMessage的lParam 参数用MAKELPARAM来生成

#include
void main()
{
int i,j,x;
printf("输入你要测试的数字:
");
scanf("%d",&x);
j=1;
for(i=2;i<x;i++)
if(x%i==0)
{
j=0;
i=x;
}
if(j==0)
printf("这个数不是一个素数!

");
else
printf("这个数是一个素数!

");
}

可以
B00L PostMessage(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam);

关于后两个类型:
typedef UINT WPARAM;
typedef LONG LPARAM;
都是4字节

hWnd--要发给的程序句柄
Msg:
Msg=WM_MOUSEMOVE..鼠标移动事件

wParam:
MK_CONTROL ctrl键按下.
MK_LBUTTON 鼠标左键键按下.
MK_MBUTTON 鼠标中间键按下.
MK_RBUTTON 鼠标右键按下.
MK_SHIFT shift键按下.

lParam--高位当前鼠标y坐标,低位当前鼠标x坐标

比如给句柄为hWnd的程序队列发送一个鼠标移动信息,同时鼠标左键和中间处于按下状态,鼠标坐标为(120,100)
PostMessage(hWnd, WM_MOUSEMOVE ,MK_LBUTTON|MK_MBUTTON,(16<<100)|120);

如果是要发送数据,然后你在程序端自己处理的话,推荐用sendmessage函数,因为PostMessage只是把消息发送到程序的消息队列去,程序自动处理.就是说,如果接收消息的程序是你自己写,用sendmessage就可以,如果是别人写的程序,你要仿真一个事件给那个程序,那么就用PostMessage
如果用
SendMessage(Hwnd, WM_MOUSEMOVE , x, y);

其中
x:wParam,取值范围
MK_CONTROL Set if the ctrl key is down.
MK_LBUTTON Set if the left mouse button is down.
MK_MBUTTON Set if the middle mouse button is down.
MK_RBUTTON Set if the right mouse button is down.
MK_SHIFT Set if the shift key is down.

y:lParam,鼠标的坐标
xPos = LOWORD(lParam); //horizontal position of cursor
yPos = HIWORD(lParam); //vertical position of cursor

你就可以在程序里重载虚函数LRESULT CALLBACK WindowProc(HWND hWnd,UINT message,WPARAM wParam,LPARAM lParam)
switch(message)
{
case WM_MOUSEMOVE:
//写你要在鼠标移动时做的处理
break;
.....
}
CDialog::WindowProc(HWND hWnd,UINT message,WPARAM wParam,LPARAM lParam);
}

CDialog::WindowProc(HWND hWnd,UINT message,WPARAM wParam,LPARAM lParam);是MFC自己的处理函数,最好加上,不然会很麻烦
很简单的SendMessage和postmessage一样使用方法


你们能不能给我通俗地解释一下在C语言中函数是什么有什么作用?
2. C语言的函数兼有其它语言中的函数和过程两种功能,从这个角度看,又可把函数分为有返回值函数和无返回值函数两种。(1)有返回值函数 此类函数被调用执行完后将向调用者返回一个执行结果, 称为函数返回值。如数学函数即属于此类函数。 由用户定义的这种要返回函数值的函数,必须在函数定义和函数说明...

c语言常用函数有哪些?主要掌握的要点是什么
atoi()将字符串转换成整型数的函数原形:int atoi(const char *s)功能:把s所指向的字符串转换成int类型。 s格式为:符号 数字返回值:字符串的转换值。若出错则返回0。头文件:stdlib.h函数5。atol()将字符串转换成长整型数的函数原形:long atol(const char *s)功能:把s所指向的字符串转换成long int类型。

c语言的stdio.h里面包含哪些函数?能将所有的列举出来吗?
另一个定义流 stream 应如何缓冲的函数。19 FILE *tmpfile(void)以二进制更新模式(wb+)创建临时文件。20 char *tmpnam(char *str)生成并返回一个有效的临时文件名,该文件名之前是不存在的。21 int fprintf(FILE *stream, const char *format, ...)发送格式化输出到流 stream 中。22 ...

c语言函数
使用API函数SHGetSpecialFolder。Shlobj.h里有SHGetSpecialFolder的原型声明。这个函数可以帮我们找到windows的Desktop目录、启动目录、我的文档目录等。SHGetSpecialFolder需要三个参数。 第一个参数是HWND,它指定了"所有者窗口":在调用这个函数时可能出现的对话框或消息框。第二个参数是一个整数id,决定哪个...

在windows下用C语言如何实现socket网络编程,需要用到哪些头文件或者库...
Winsock,一种标准API,一种网络编程接口,用于两个或多个应用程序(或进程)之间通过网络进行数据通信。具有两个版本:Winsock 1:Windows CE平台支持。头文件:WinSock.h 库:wsock32.lib Winsock 2:部分平台如Windows CE貌似不支持。通过前缀WSA可以区别于Winsock 1版本。个别函数如WSAStartup、WSACleanup...

c语言中,puts和printf函数有什么区别?
puts和printf函数的区别如下:1、不同的换行符 puts()函数会自动在字符串末尾添加一个换行符,这意味着它会自动换行,而printf()函数没有此功能。2、输出内容不同 puts()函数只能输出字符串,不能对输出和转换指令进行标准化,而printf()函数可以。

C语言main主函数带参数是做什么用的
具体形式如下:main(){ }被大括号{ }括起来的内容称为main函数的函数体,这部分内容就是计算机要执行的内容。在{ }里面每一句话后面都有一个分号(;),在c语言中,我们把以一个分号结尾的一句话叫做一个c语言的语句,分号是语句结束的标志。...

c语言里面printf函数是干什么用的
printf()函数是式样化输出函数,一般用于向准则输出设备按规定式样输出消息。正在编写步骤时经常会用到此函数。printf()函数的挪用式样为:printf("<式样化字符串>",<参量表>);其中式样化字符串包括两部分内容:一部分是正常字符,这些字符将按原样输出;另一部分是式样化规定字符,以"%"开端,后跟一个或...

C语言中允许默认的函数类型是什么
int。C语言规定:在定义函数时,若其返回值类型为int,则可以默认。C语言函数有三类,分为外部函数、静态函数、内联函数,其中前两种是C89标准支持,第三种是C99标准增加的。1、外部函数 这类函数是默认的函数类型,基本上平时我们使用的就是这种函数,声明有以下两种方式,例如:\/\/ 使用extern关键字,...

C语言中gets函数与getchar函数有什么区别?
C语言中gets函数与getchar函数的区别 一、函数输入方面 1、gets()函数用来从标准输入设备(键盘)读取字符串直到回车结束,但回车符不属于这个字符串。其调用格式为:gets(s);s为字符串变量(字符串数组名或字符串指针),gets(s)函数与scanf("%s", &s)相似,但不完全相同。2、而getchar函数运行时...

塔城市17145715830: C语言什么函数能发送鼠标移消息?postmessage能吗 -
诸裕余麦: 可以 B00L PostMessage(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam); 关于后两个类型:typedef UINT WPARAM; typedef LONG LPARAM; 都是4字节 hWnd--要发给的程序句柄 Msg:Msg=WM_MOUSEMOVE..鼠标移动事件...

塔城市17145715830: C语言响应鼠标单击事件的函数吗 -
诸裕余麦: 没有响应函数,而是消息,点击鼠标以后,系统扑捉到消息然后传递给应用程序的消息处理函数,消息处理函数,根据switch语句进行判断,在相应的case下自己编写函数. switch(msg) { case:WM_LBUTTONDOWN 自己编写的函数或语句

塔城市17145715830: C语言读取一个鼠标命令,就像用键盘得到命令的kbhit()函数这样的 -
诸裕余麦: 首先最简单的但可以后台处理的有 SendMessage() PostMessage() 发送鼠标, 键盘消息, 这个百度一搜n多了 然后中等级的模拟就是 keyboard_event mouse_event了 这个比较用的比较多, 给个例子你 模拟键盘点击 ...

塔城市17145715830: 如何实现C语言中用键盘控制光标移动? -
诸裕余麦: 几个库函数:函数名: bioskey 功能: 直接使用BIOS服务的键盘接口 用法: int bioskey(int cmd); 程序例: #include #include #include <ctyp...

塔城市17145715830: C语言光标的移动程序是什么 要详细一点 -
诸裕余麦: 可以用gotoxy函数移动光标. 1、函数名:gotoxy 原型:extern void gotoxy(int x, int y); 用法:#include 功能:将光标移动到指定位置说明:gotoxy(x,y)将光标移动到指定行y和列x.设置光标到文本屏幕的指定位置,其中参数x,y为文本屏幕的坐.

塔城市17145715830: 用C语言写dos程序的时候,用什么函数(请给出头文件)可以将光标移动到指定的位置?
诸裕余麦: 往前跳可以在printf中使用 "\b", 上调只能用类似下面的坐标函数(非dos),或图形函数.建议使用清屏重绘. void GotoConsoleXY(HANDLE hConsole,int x,int y) { COORD coordScreen={x,y}; SetConsoleCursorPosition(hConsole,coordScreen); return; } void gotoxy(int x,int y) { HANDLE hStdOut=GetStdHandle(STD_OUTPUT_HANDLE); GotoConsoleXY(hStdOut,x,y); return; }

塔城市17145715830: C语言找到窗口句柄,然后进行后台鼠标键盘操作
诸裕余麦: 鼠标:窗口处理函数中加入WM_MOUSEMOVE消息,然后编写鼠标消息处理函数OnMouseMove,当然,鼠标消息不止这一个,具体请查看msdn 键盘:添加WM_KEYDOWN/WM_KEYUP/WM_CHAR消息,这三个消息的具体请查看msdn,然后就可以编写消息消息处理函数了!

塔城市17145715830: 用C语言写远程控制软件 -
诸裕余麦: 你想用c语言写 一般用可视化工具写 首先需要截屏,可以用bitblt函数 通过网络传送 然后客户端显示 如果要进行远程控制,一般需要用到两个函数 keybd_event函数模拟键盘消息 mouse_event函数模拟鼠标消息 当然具体函数用法可以查看MSDN

塔城市17145715830: C#向窗口的固定坐标出发送鼠标点击信息,什么代码,谢谢? -
诸裕余麦: ///引入命令空间,在这里你可以调用api函数using System.Runtime.InteropServices;[DllImport("user32.dll")] ///引入了...

塔城市17145715830: C语言有没有一个函数,能利用鼠标输入数据?就像计算器那样.
诸裕余麦: 没有这样一个函数 这个做法是利用消息映射来完成的

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网