Ver Mensaje Individual
  #2  
Antiguo 08-09-2008
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Reputación: 20
cHackAll Va por buen camino
Lo que no comprendo es como puedes llamar a una funcion con 2 argumentos, habiendo sido declarada solo con uno (LocatedWindows)! te dejo un ejemplo un poco distinto y un poco mas "correcto", pues GetWindow te puede retornar el manejador de una insancia anteriormente creada de la misma aplicacion.

Código:
int __stdcall EnumProc(void * hWnd, long lParam)
{
 if (IsWindowVisible(hWnd)) // aquí puedes realizar tu comparación si es el caso
  SetWindowPos(hWnd, HWND_TOPMOST, lParam, 0, 0, 0, SWP_NOSIZE);
 return TRUE;
}
 
void Exec(AnsiString CommandLine, long Left)
{
 STARTUPINFO si = {sizeof si};
 PROCESS_INFORMATION pi;
 CreateProcessA(NULL, CommandLine.c_str(), NULL, NULL, 0, 0, NULL, NULL, &si, &pi);
 WaitForInputIdle(pi.hProcess, INFINITE);
 EnumThreadWindows(pi.dwThreadId, (int (__stdcall *)())EnumProc, Left);
}
 
void __fastcall TForm1::Button1Click(TObject *Sender)
{
 Exec("c:\\windows\\notepad.exe", 0);
 Exec("c:\\windows\\notepad.exe", 500);
}
Saludos
__________________
RTFM > STFW > Foro > Truco > Post > cHackAll > KeBugCheckEx
Responder Con Cita