注:获取按钮句柄这些不是问题,关键是发BM_CLICK无效,先发LBUTTONDOWN 在发LBUTTONUP也无效
解决方案 »
- 现在还有必要学习API吗?
- 急,在线等
- 请问高手如何在点击按钮后在DBgrideh上自动添加一行等待输入后加到数据库中阿
- 我在编程的时间遇到一个问题想请大家帮忙解决一下!比较急!!谢谢各位了!!
- 加个 inherited 是什么意思?
- 帮个忙,不一定要技术只要有信息就给分!!UP有分!
- 请问:DELPHI的帮助是如何制作的,有谁知道啊? 急! 急! 急!
- 在listview上同时选中多行,如何在程序中实现用一个循环把所选的每一行的caption显示出来
- 想通过tcpclient 实现执行tcpserver这边程序里的winexec命令,怎么写呢
- 窗体半透明效果怎么实现?
- 请问Delphi里的打头的T、F、A都是什么英文单词的缩写,表示什么意思?
- Postmessage 发送中文字符到另一程序窗口出乱码.
是不是你自已参数没有写对 lbuttondown要加鼠标位置的哟
你可以用spy++获得句柄,在发送LBUTTONDOWN LBUTTONUP试试
/// 模拟鼠标左键单击
/// </summary>
/// <param name="X"></param>
/// <param name="Y"></param>
public static void MouseLeftClick(int X, int Y)
{
WinAPI.SetCursorPos(X, Y);
mouse_event(WinAPI.MouseEventFlags.LeftDown, X, Y, 0, (IntPtr)0);
mouse_event(WinAPI.MouseEventFlags.LeftUp, X, Y, 0, (IntPtr)0);
}
public enum MouseEventFlags
{
Move = 0x0001,
LeftDown = 0x0002,
LeftUp = 0x0004,
RightDown = 0x0008,
RightUp = 0x0010,
MiddleDown = 0x0020,
MiddleUp = 0x0040,
Wheel = 0x0800,
Absolute = 0x8000
} [DllImport("User32")]
public extern static void SetCursorPos(int x, int y);
//鼠标
[DllImport("User32")]
public extern static void mouse_event(MouseEventFlags dwFlags, int dx, int dy, int dwData, IntPtr dwExtraInfo);