Hola que tal, de nuevo por estos rumbos, solicitando se apoyo.
Lo que pasa es que estoy haciendo un programa, hago lo siguiente
Código:
if (hideapp == true)
uFlags = uFlags | SWP_HIDEWINDOW | SWP_NOACTIVATE;
if (nomoved == true)
uFlags = uFlags | SWP_NOMOVE;
if (nosize == true)
uFlags = uFlags | SWP_NOSIZE;
if (topmost == true)
{
SWP_Topmost = HWND_TOPMOST;
uFlags = uFlags | SWP_SHOWWINDOW | SWP_NOACTIVATE;
}
else { SWP_Topmost = HWND_NOTOPMOST;
System.Diagnostics.Process[] Procesos = System.Diagnostics.Process.GetProcessesByName(nameapp);
if (Procesos.Length > 0)
{
Procesos = System.Diagnostics.Process.GetProcessesByName(nameapp);
// Aqui el Procesos[0].MainWindowHandle --> 0, y es por eso que ya no hace nada
for (int p = 0; p < Procesos.Length; p++)
{
if (topmost == true)
{
if (IsIconic(Procesos[p].MainWindowHandle) == true)
ShowWindow(Procesos[p].MainWindowHandle, SW_iRestore);
}
SetWindowPos(Procesos[p].MainWindowHandle, SWP_Topmost, x, y, cx, cy, uFlags);
if (hideapp==false)
ShowWindow(Procesos[p].MainWindowHandle, SW_SHOW);
}
}
Todo funciona bien, has que oculto la ventana, y cuando lo quiero volver a mostrar ya no quiere. Es que por que cuando busco la ventana con "process" el "mainWindowHandle" me regresa 0, como si no lo estuviera encontrando, pero en unas propiedades si me muestra por datos del programa, por ejemplo en MainModulo, indica el nombre del programa "Notepad.exe", en lenght me indica 1. Les agradezco su apoyo anticipadamente, muchas gracias.