Red de conocimiento informático - Material del sitio web - Cómo usar C# para controlar la visualización y ocultación de los iconos del escritorio

Cómo usar C# para controlar la visualización y ocultación de los iconos del escritorio

El ícono del escritorio es en realidad una ventana ListView, como todos deberían saber, por lo que podemos encontrar esta ventana:

Luego use la función API ShowWindow para mostrarla y ocultarla.

El siguiente es el código: [DllImport("User32.dll",?EntryPoint?=?" FindWindow")]

private?lpWindowName);

[DllImport("user32. dll " ,?SetLastError?=?true)]

public?string?windowTitle);

[DllImport("user32.dll",?EntryPoint?=?" ShowWindow") ]

public?static?extern?int?ShowWindow(IntPtr?hwnd, ?int?nCmdShow);

[DllImport("user32.dll")]

public?static?extern?bool?IsWindowVisible(IntPtr?hwnd); public?const?int?SW_SHOW?=?5;

public?const?int?SW_HIDE?=?0;

público?Form1()

{

InitializeComponent();

}

privado?void?button1_Click( objeto? remitente,?EventArgs?e)

{

si ?(hWndDeskop! =?IntPtr.

{

si ? (! IsWindowVisible(hWndDeskop))

ShowWindow(hWndDeskop,?SW_SHOW);

else?MessageBox.Show("Ya se muestra");

}

}

privado?void?button2_Click(object?sender,?EventArgs?e)

{

if?(hWndDeskop!= ?IntPtr .Zero)

{

if?(IsWindowVisible(hWndDeskop))

ShowWindow(hWndDeskop,?SW_HIDE);

else? MessageBox.Show("Ocultar");

}

}

IntPtr?hWndDeskop?=?IntPtr.Zero;

privado ?void?Form1_Load(object?sender,?EventArgs?e)

{?

IntPtr?hWndPm?=?IntPtr.Zero;

hWndPm ?= ?FindWindow(null,?"Program?Manager");

if?(hWndPm?==?IntPtr.Zero)

MessageBox.Show("No se pudo encontrar el escritorio ." ,?Error");

else

{

IntPtr?hWndPm2?=?IntPtr.Zero;

hWndPm2? =? BuscarVentanaEx(hWndPm,?IntP

tr.Zero,?null,?"");?if(hWndPm2?==?IntPtr.Zero)

MessageBox.Show("No se pudo encontrar la ventana.",?" Error");? else

{

hWndDeskop?=?FindWindowEx(hWndPm2,?IntPtr.Zero,?null,?"FolderView");

if?(hWndDeskop? ==?IntPtr.Zero)?MessageBox.Show("No se puede encontrar la ventana." ,?" Error");?

}

}

Abajo Hay más código que he escrito