我正在游戏'窗口中进行'拖动'操作。我想在一个地方mouse_down然后mouse_up另一个。
这是c#代码:
uint Iparm = makeDWord((ushort)x, (ushort)y);
IntPtr xd = new IntPtr(Iparm);
uint Iparm2 = makeDWord((ushort)x2, (ushort)y2);
IntPtr xd2 = new IntPtr(Iparm2);
SendMessage(p, (uint)0x201, (IntPtr)0x1, xd); // down button (start x,y)
SendMessage(p, (uint)0x202, (IntPtr)0x0, xd2); // up button (final x,y)
我已经用c#格式将该代码与一个按钮(比如名为START的按钮)连接起来。当我按下START并继续移动我的鼠标时,它完美地工作。但是,当我只是按下START并等待操作(没有在屏幕上移动光标)时,没有任何反应。我按下了我的表格中的按钮,用间谍++检查了游戏的窗口,按下该按钮的两种方式(移动/不移动光标)没有区别。
我忘记在移动光标时添加它,即使窗口最小化(非常酷)也会发生动作
导致我的问题是什么? :P
修改
WM_MOUSEDOWN = 0x201;
WM_MOUSEUP = 0x202;
该代码放在一个函数中,p是windows句柄,按钮START执行该函数。
正如我之前所说,代码在我移动光标时工作得很好