Api

21/01/2005 - 20:46 por Cristian | Informe spam
Hola, hace unos dias pedi alguna pagina con funciones de APIs. Ahora tengo
una duda con un ejemplo que vi.
Por ej. para ocultar la TaskBar se hace de la siguiente manera:

[DllImport("User32.dll")]
public static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);
[DllImport("User32.dll")]
public static extern IntPtr FindWindow(string className, string winName);
private void HideTask()
{
ShowWindow(FindWindow("Shell_TrayWnd",null)0);
}

Y al ejecutar HideTask() se oculta la taskbar. Mi pregunta es, de donde
puedo sacar ese nombre de ventana "Shell_TrayWnd".

Gracias

Preguntas similare

Leer las respuestas

#1 Octavio Hernandez
22/01/2005 - 10:49 | Informe spam
Cristian,

Lo que tienes es que dejar el código así tal cual, "Shell_TrayWnd" es el
nombre con el que Microsoft ha definido la clase de ventana a la que
pertenece la barra de tareas (y su nombre es una cadena vacía).
FindWindow("Shell_TrayWnd",null) devuelve el handle de ventana de la barra,
y entonces con ShowWindow() la muestras u ocultas.

Slds - Octavio

"Cristian" escribió en el mensaje
news:OIFeHG$$
Mostrar la cita
#2 Cristian
22/01/2005 - 20:22 | Informe spam
Si, eso ya se que lo tengo que dejar asi, asi funciona. Lo que yo quiero
saber es de donde se puedo sacar mas nombres de ventanas como esa
"Shell_TrayWnd", si es que existen mas tipo de ventanas como esas.


"Octavio Hernandez" escribió en el mensaje
news:
Mostrar la cita
#3 Octavio Hernandez
22/01/2005 - 20:57 | Informe spam
Cristian,

Pues me parece que lo mejor sería no utilizar esos nombres, proque buscando
en la red no he encontrado nada oficial al respecto; si no está documentado
oficialmente, no hay ningún compromiso de Microsoft con respecto a mantener
esos nombres en futuras versiones de Windows.

Encontré este documento con otros nombres de clases:

http://www.swissdelphicenter.ch/tor...ode.php?id‘1

Slds,

Octavio

"Cristian" escribió en el mensaje
news:%
Mostrar la cita
#4 Marino Posadas
23/01/2005 - 23:40 | Informe spam
Hola

Pues ahora soy yo el que complemento tu respuesta, Octavio...)))

Más que nada, para comentar cómo se buscaría una clase de ventana en
cualquier circunstancia. En el conjunto de utilidades disponibles que
instala Visual Studio, hay una que se llama Spy++. Si la abres, te mostrará
información de todas las ventanas abiertas, procesos en ejecución, etc. Lo
mejor de todo es que tiene una herramienta llamada Windows Finder, que
muestra un circulito. Puedes arrastrar ese circulo por encima de cualquier
otra ventana del sistema o de otra aplicación, y te irá indicando todos los
datos de esa ventana incluyendo su clase de ventana, que es lo que pide la
función FindWindow() cuando no se le pasa la Caption de esa ventana. Todo
esto es para obtener el manejador de ventana, claro.

Hay más datos en el MSDN en
http://msdn.microsoft.com/library/d...r_tool.asp


Saludos cordiales
Marino Posadas
MVP Visual C#

www.ElAveFenix.net


"Octavio Hernandez" escribió en el mensaje
news:
Mostrar la cita
Ads by Google
Search Busqueda sugerida