菜鸟求救::鼠标就放在制定的位置。每30秒想单击一下,在MFC里该如何实现啊 ?定时器我会用。但是鼠标单击的函数还不会用,请大侠们详细讲解一下,谢谢。请给出源代码。另:如何让鼠标在制定的坐标上点击,比如在屏幕左上角点一下后,再去右上角点。。
解决方案 »
- 全局钩子HOOK不到SendNotifyMessage广播消息?
- 使用vc 平台 android 开发程序 求书籍或网站或心得
- 坐标图显示采集数据添加控件MicrosoftChartControl6.0(SP4)
- 动态卸载DLL时内存泄漏
- Dll的困惑
- 通过代理上网收发邮件的程序有问题??
- switch(command)里好像不能用CString类型的,那怎么办?
- 在基于单文档的工程中,加入一个对话框,做为登陆界面的有关问题!在线等待
- 诚聘版主
- 3秒钟的avi有37.8M,怎么办呀?要是3分钟..........
- 哪位有<Visual C++案例开发集锦>这本书?麻烦传一份~~
- 0x800A0E78错误,菜鸟向大侠们请教,告诉我原因
The SendInput function synthesizes keystrokes, mouse motions, and button clicks.UINT SendInput(
UINT nInputs, // count of input events
LPINPUT pInputs, // array of input events
int cbSize // size of structure
);
Parameters
nInputs
[in] Specifies the number of structures in the pInputs array.
pInputs
[in] Pointer to an array of INPUT structures. Each structure represents an event to be inserted into the keyboard or mouse input stream.
cbSize
[in] Specifies the size, in bytes, of an INPUT structure. If cbSize is not the size of an INPUT structure, the function will fail.
Return Values
The function returns the number of events that it successfully inserted into the keyboard or mouse input stream. If the function returns zero, the input was already blocked by another thread.To get extended error information, call GetLastError. Res
The SendInput function inserts the events in the INPUT structures serially into the keyboard or mouse input stream. These events aren't interspersed with other keyboard or mouse input events inserted either by the user (with the keyboard or mouse) or by calls to keybd_event, mouse_event, or other calls to SendInput.This function does not reset the keyboard's current state. Any keys that are already pressed when the function is called might interfere with the events that this function generates. To avoid this problem, check the keyboard's state with the GetAsyncKeyState function and correct as necessary.Requirements
Windows NT/2000: Requires Windows NT 4.0 SP3 or later.
Windows 95/98: Requires Windows 98.
Header: Declared in Winuser.h; include Windows.h.
Library: Use User32.lib.INPUT
The INPUT structure is used by SendInput to store information for synthesizing input events such as keystrokes, mouse movement, and mouse clicks.typedef struct tagINPUT {
DWORD type;
union {
MOUSEINPUT mi;
KEYBDINPUT ki;
HARDWAREINPUT hi;
};
} INPUT, *PINPUT;
Members
type
Specifies the type of the input event. This member can be one of the following values. Value Meaning
INPUT_MOUSE The event is a mouse event. Use the mi structure of the union.
INPUT_KEYBOARD The event is a keyboard event. Use the ki structure of the union.
INPUT_HARDWARE Windows 95/98: The event is from input hardware other than a keyboard or mouse. Use the hi structure of the union.
mi
A MOUSEINPUT structure that contains information about a simulated mouse event.
ki
A KEYBDINPUT structure that contains information about a simulated keyboard event.
hi
Windows 95/98: A HARDWAREINPUT structure that contains information about a simulated event from input hardware other than a keyboard or mouse.
Res
This structure contains information identical to that used in the parameter list of the keybd_event or mouse_event function.Windows 2000: INPUT_KEYBOARD supports nonkeyboard input methods, such as handwriting recognition or voice recognition, as if it were text input by using the KEYEVENTF_UNICODE flag. For more information, see the res section of KEYBDINPUT.Requirements
Windows NT/2000: Requires Windows NT 4.0 SP3 or later.
Windows 95/98: Requires Windows 98.
Header: Declared in Winuser.h; include Windows.h.以下来自MSDN。
调用SendInput就可以。鼠标先按下、再释放就是click。
yPos = GET_Y_LPARAM(lParam);