这个问题已经被问到其他语言,甚至对于其他语言,我发现他们的答案缺乏如何做到这一点,干净(没有搞砸屏幕重绘等).
是否可以从C#绘制到Windows桌面?如果可能,我正在寻找一个例子.
尝试以下:
using System; using System.Drawing; using System.Drawing.Drawing2D; using System.Runtime.InteropServices; class Program { [DllImport("User32.dll")] static extern IntPtr GetDC(IntPtr hwnd); [DllImport("User32.dll")] static extern int ReleaseDC(IntPtr hwnd,IntPtr dc); static void Main(string[] args) { IntPtr desktop = GetDC(IntPtr.Zero); using (Graphics g = Graphics.FromHdc(desktop)) { g.FillRectangle(Brushes.Red,100,100); } ReleaseDC(IntPtr.Zero,desktop); } }