![]() |
Procesos en C++
Hola a todos los del Foro e aqui de nuevo con mis dudas
Quisiera saber si es posible que desde C++ se pueden trabajar con los procesos de Windows, si es posible me pudieran explicar como puedo hacer eso. Lo que yo quisiera hacer es que cuando yo ejecute mi aplicacion busque en los procesos de windows y si mi aplicacion ya esta corriendo, termine el proceso viejo y se ejecute de nuevo. no se si me explico bien... Les agradeseria mucho si me ayudan... Saludos |
Pues para trabajar con procesos del sistema se usa la función “EnumProcesses” (te lista los procesos que corren en tu sistema), si le gogleas encontraras muchos ejemplos de esta.
Te dejo un código que hace lo que pretendes ponlo donde mejor te paresca: Código:
DWORD lista[1024]; |
Voy a explicar una forma sencilla de conseguir lo que pretende yelian.
Supongamos que tenemos un proyecto que se llama Project1 que es nuestra aplicación. Pues abrimos el archivo para editarlo en el IDE del Builder. Tenemos algo momo esto: Código:
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) Código:
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) |
Gracias
tengo una dudita como pudiera poner un nombre fijo para mi aplicacion en los procceso (Es para utilizarlo en el code anterior)... me explico: Quisiera que aunque cambien el nombre del ejecutabler, en los proccesos siga teniendo el mismo que yo le puse... si se puede hacer diganme como... |
Pues mi lógica me dice que no se va a poder, en la lista de procesos se presenta el nombre del ejecutable y según se, no se puede cambiar el nombre del ejecutable cuando este se está ejecutando.
Pero si tienes este mismo fin, te pasó esto que en lugar de buscar por el título de la aplicación, busca por la clase del form principal la cual no cambia nunca. Código:
/*Obtienes el handle de la aplicación según su clase en este caso “Tmiclase”, |
Cita:
Código:
Application->Title = "Mi Programa"; Piensa que este método que se te propone, es simplista y que existen formas mas complejas que detectan de forma inequívoca tu aplicación. En el foro encontrarás ejemplos. Creo que para empezar esto te sirve como anillo al dedo y sin complicarte mas. Saludos. |
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.... |
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 Código:
DWORD GetProcessId(char* FileName) Código:
//--------------------------------------------------------------------------- |
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 |
|
La franja horaria es GMT +2. Ahora son las 09:30:51. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi