这个问题已经被要求用于其他语言,甚至对于那些其他语言,我发现他们的答案缺乏如何正确地做到这一点,干净利落(没有混乱的屏幕重绘等等).
是否可以从C#绘制到Windows桌面?如果可能的话,我正在寻找一个例子.
Pao*_*sco 25
请尝试以下方法:
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);
}
}
Run Code Online (Sandbox Code Playgroud)
你可以试试:
Graphics.FromHwnd(IntPtr.Zero)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
23080 次 |
| 最近记录: |