【发布时间】:2016-05-30 08:06:48
【问题描述】:
请让我详细说明我在做什么。
我正在创建一个屏幕共享应用程序。其中有 2 个应用程序首先是一个 Windows 应用程序(其屏幕正在共享),另一个是浏览器 Web 应用程序(用户正在其上观看屏幕)。浏览器 Web 应用程序正在将客户端 x 和 y 鼠标坐标发送到 Windows 应用程序。 Windows 应用程序使用x 和y 坐标使用下面给出的代码移动鼠标。
[DllImport("user32.dll")]
static extern bool SetCursorPos(int X, int Y);
public static void MoveCursorToPoint(int x, int y)
{
SetCursorPos(x, y);
}
浏览器应用程序也在发送鼠标点击,而 windows 应用程序正在使用下面给出的代码执行点击。
[DllImport("user32.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)]
public static extern void mouse_event(long dwFlags, long dx, long dy, long cButtons, long dwExtraInfo);
private const int MOUSEEVENTF_LEFTDOWN = 0x02;
private const int MOUSEEVENTF_LEFTUP = 0x04;
private const int MOUSEEVENTF_RIGHTDOWN = 0x08;
private const int MOUSEEVENTF_RIGHTUP = 0x10;
public static void DoMouseClick()
{
mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
}
问题/挑战
这里的问题或挑战是执行拖动操作。例如,我将如何将任何应用程序的窗口从 C# 代码从一个地方拖到另一个地方。
非常感谢您的关注。
【问题讨论】: