c# - 如何在Windows桌面上直接画图,C#?

标签 c# desktop

这个问题已经被问到其他语言,甚至对于那些其他语言,我发现他们的答案缺乏如何准确地做到这一点,干净利落(没有困惑的屏幕重绘等)。

是否可以从 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);
    }
}

关于c# - 如何在Windows桌面上直接画图,C#?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1536141/

相关文章:

java - 使用 Java 制作 GUI 从哪里开始(Swing 是否已弃用?)

refresh - Gnome 3 和 .desktop 文件 - "Allow/Disallow lauching do"到底是什么?

c# - 当前用户全局变量 C# 桌面应用程序

c# - Entity Framework : Skip few columns or select as null from related entities

c# - 我可以将 libxml2 导入 Visual Studio 2013

c# - Thread.Interrupt 在应用程序关闭时停止长时间 sleep - 是否有更好的方法

c# - 获取 cshtml 文件的语义模型?

opencv - OpenCV 或 Emgu CV 桌面捕获选项中是否有任何功能? (插件、库、类)

c# - C#中如何从远程获取面板屏幕

c# - 解码 GIF 帧并编码为视频 C#