Ver Mensaje Individual
  #4
Antiguo 7 de noviembre de 2024, 11:01
Joseg
El Foro es mi casa
Activista del Foro: Activista del Foro - Issue reason: Por participación activa Innovación: Por aportar innovaciones - Issue reason: Por aportar soluciones innovadoras en varias ocasiones 
Última Actividad 21.09.2026 18:39
Posts Posts: 402
Likes enviados Enviados: 130
Likes recibidos Recibidos: 179

Muchas gracias a todos por vuestra ayuda.

Eu pretendia fazer isto: https://www.tek-tips.com/threads/set...g-pid.1820890/
Apenas consegui fazer em "C" e Windev. Em anexo o código em "C".

Pero la idea era la siguiente: Con el número PID y no el título de la ventana (el título es dinámico), maximizar un programa de terceros y hacerse visible.

Código CPP:
  1. #include <windows.h>
  2. #include <tlhelp32.h>
  3. #include <iostream>
  4. #include <cstdlib>
  5.  
  6. BOOL CALLBACK EnumWindowsProc(HWND hwnd, LPARAM lParam) {
  7.     DWORD processId;
  8.     GetWindowThreadProcessId(hwnd, &processId);
  9.  
  10.     // Verificar se o PID corresponde e se a janela é visível
  11.     if (processId == static_cast<DWORD>(lParam) && IsWindowVisible(hwnd)) {
  12.         // Maximizar e trazer a janela para o primeiro plano
  13.         ShowWindow(hwnd, SW_MAXIMIZE);
  14.         SetForegroundWindow(hwnd);
  15.         return FALSE; // Parar a enumeração
  16.     }
  17.  
  18.     return TRUE; // Continuar a enumeração
  19. }
  20.  
  21. void MaximizeMainApplicationWindow(DWORD pid) {
  22.     EnumWindows(EnumWindowsProc, static_cast<LPARAM>(pid));
  23. }
  24.  
  25. int main(int argc, char* argv[]) {
  26.     if (argc != 2) {
  27.         std::cerr << "Usage: " << argv[0] << " <PID>" << std::endl;
  28.         return 1;
  29.     }
  30.  
  31.     DWORD pid = std::atoi(argv[1]);
  32.     MaximizeMainApplicationWindow(pid);
  33.  
  34.     return 0;
  35. }
Joseg is offline   Responder Con Cita