sbondo1234
成员
- 已加入
- 2020年1月21日
- 留言内容
- 8
- 编程经验
- 1-3
我的主要目标是能够移动不带边框的窗口,该窗口用于不同的进程,而该进程不是使用相同的c#脚本编写的。如果这是错误的解决方法,请告知。
是否可以在可交互的其他过程窗口上绘制图形?
当我说“可交互”时,我主要是指用户能够通过使用绘制的图形来移动窗口。
编辑(找到了一些有帮助的代码):
这段代码不断在桌面上绘制一个盒子:
有没有办法使它在窗口上绘制,而不是直接在桌面上绘制?
更重要的是,有没有一种方法可以检查用户是否单击/拖动图形,然后在发生这种情况时调用另一个函数?
是否可以在可交互的其他过程窗口上绘制图形?
当我说“可交互”时,我主要是指用户能够通过使用绘制的图形来移动窗口。
编辑(找到了一些有帮助的代码):
这段代码不断在桌面上绘制一个盒子:
C#:
[DllImport("User32.dll")]
public static extern IntPtr GetDC(IntPtr hwnd);
[DllImport("User32.dll")]
public static extern void ReleaseDC(IntPtr hwnd, IntPtr dc);
while (true)
{
IntPtr desktopPtr = GetDC(IntPtr.Zero);
Graphics g = Graphics.FromHdc(desktopPtr);
SolidBrush b = new SolidBrush(Color.Red);
g.FillRectangle(b, new Rectangle(0, 0, 192, 108));
g.Dispose();
ReleaseDC(IntPtr.Zero, desktopPtr);
}
有没有办法使它在窗口上绘制,而不是直接在桌面上绘制?
更重要的是,有没有一种方法可以检查用户是否单击/拖动图形,然后在发生这种情况时调用另一个函数?
Last edited: