![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|
|
#1
|
|||
|
|||
|
Hola
El code que puso (_cero_) no me funciona pero el de (escafandra) si me funciona a la perfeccion... ******** Otra duda es posible saber el titulo de otra aplicacion , es decir el titulo de un juego por ejemplo... Muchas Gracias por el aporte.... |
|
#2
|
||||
|
||||
|
Cita:
Código:
GetWindowText(hWnd, AppTitle, sizeof(AppTitle)-1); Código:
// Encuentra el título de la aplicación que primero encuentre del notepad.exe
// Podrás adaptarlo para otros exename e incluso para todos los procesos abiertos de ese exemane.
HANDLE GetWindowFromProcessId(DWORD ProcessId, char* WindowName);
DWORD GetProcessId(char* ExeName);
DWORD Pid = GetProcessId("notepad.exe");
HANDLE hWnd = GetWindowFromProcessId(Pid, 0);
char AppTitle[256]; // El titulo buscado
GetWindowText(hWnd, AppTitle, sizeof(AppTitle)-1);
Código:
DWORD GetProcessId(char* FileName)
{
DWORD Result = 0;
PROCESSENTRY32 proc = { sizeof(proc) };
HANDLE hSysSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if(hSysSnapshot != reinterpret_cast<HANDLE>(-1) && Process32First(hSysSnapshot, &proc)){
do{
if(!stricmp(proc.szExeFile, FileName)){
Result = proc.th32ProcessID;
}
}while(Process32Next(hSysSnapshot, &proc));
}
CloseHandle(hSysSnapshot);
return Result;
}
Código:
//--------------------------------------------------------------------------- // Traducción y adaptación a C++ del código de seoane //--------------------------------------------------------------------------- struct TWindowRec{ HANDLE Handle; DWORD ProcessId; char* WindowName; }; BOOL CALLBACK EnumWindowsProc(HANDLE Handle, LPARAM lParam) { DWORD ProcessId; char* Buffer; int Size; bool Result = true; ProcessId = 0; GetWindowThreadProcessId(Handle, &ProcessId); if(ProcessId == ((TWindowRec*)(lParam))->ProcessId){ if(((TWindowRec*)(lParam))->WindowName != 0){ Size = GetWindowTextLength(Handle) + 1; Buffer = new char[Size]; try{ GetWindowText(Handle, Buffer, Size); if(stricmp(((TWindowRec*)(lParam))->WindowName, Buffer) == 0){ ((TWindowRec*)(lParam))->Handle = Handle; Result = false; } } __finally{ delete Buffer; } }else{ ((TWindowRec*)(lParam))->Handle = Handle; Result = false; } } return Result; } typedef BOOL (__stdcall *TP)(); HANDLE GetWindowFromProcessId(DWORD ProcessId, char* WindowName) { TWindowRec WindowRec; // setmem(&WindowRec, sizeof(WindowRec), 0); WindowRec.ProcessId = ProcessId; WindowRec.WindowName = WindowName; EnumWindows((TP)EnumWindowsProc, LPARAM(&WindowRec)); return WindowRec.Handle; } ![]() Última edición por escafandra fecha: 18-12-2008 a las 08:19:07. |
|
#3
|
|||
|
|||
|
escafandra Muchas Gracias por el aporte
me que de loco con todos esos codicos, hay algunos que ni conosco (acuerdate que soy un novato en esto de la programacion) Si pudieras explicarme algo resperto al code de C++, que como saben es el programa que utilizo... ******* escafandra ya que veo que tu eres unos de los que mas ayudan en el foro quisiera saber si me pudiera comunicar contigo por los mensajes privado o por correo electronico, para que me pudieras ayudar mejor sobre Aplicaciones que me gustarian Hacer |
|
#4
|
||||
|
||||
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Procesos Interbase | berfer | Firebird e Interbase | 6 | 07-09-2006 20:28:57 |
| Procesos en un servidor... | Berto2003 | API de Windows | 0 | 31-07-2006 10:26:30 |
| Procesos lentos...., | Luis Castillo | Conexión con bases de datos | 4 | 22-12-2005 00:20:47 |
| Monitorear procesos | victork_py | Firebird e Interbase | 7 | 27-08-2003 12:06:29 |
|