对于其他语言,也有人问过这个问题,即使对于其他语言,我也发现他们的答案缺乏如何准确地进行整洁(没有弄乱屏幕重绘等)。
是否可以从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, 0, 0, 100, 100); } ReleaseDC(IntPtr.Zero, desktop); } }