Я хочу рисовать прямо на рабочем столе (в качестве обоев или над всем, я не против) в C #, но я не смог найти, как. Я нашел это:
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 void ReleaseDC(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(desktop);
}
}
На самом деле он рисует красный прямоугольник, но в течение 1 секунды Visual Studio выдает мне эту ошибку:
Обнаружен PInvokeStackImbalance
Любая помощь приветствуется,
Спасибо