Я пытаюсь нарисовать прямоугольник прямо на рабочем столе с помощью C#. После нахождения некоторых решений я получил:Рисунок на рабочем столе с использованием C#
using System;
using System.Drawing;
using System.Runtime.InteropServices;
using System.Windows.Forms;
namespace Test
{
public partial class Form1 : Form
{
[DllImport("User32.dll")]
public static extern IntPtr GetDC(IntPtr hwnd);
[DllImport("User32.dll")]
static extern int ReleaseDC(IntPtr hwnd, IntPtr dc);
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
myFunc();
}
public void myFunc()
{
IntPtr desktop = GetDC(IntPtr.Zero);
using (Graphics g = Graphics.FromHdc(desktop))
{
g.FillRectangle(Brushes.Red, 0, 0, 100, 100);
}
ReleaseDC(IntPtr.Zero, desktop);
}
}
}
Но когда я запустил его, я ничего не получил на своем экране. Может ли кто-нибудь помочь мне узнать, какая часть идет не так? Это будет высоко ценится!
Работа без границ, но мне все же интересно, почему метод кулака не вступает в силу. Я перемещаю коды внутри Form1_Paint и добавляю на него слушателя. Но ничего не увидишь :(Наконец, признай свой ответ! – River