Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #9  
Antiguo 31-10-2014
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.211
Poder: 22
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Ese código devuelve el Path completo con nombre del ejecutable buscado por su ID, sin necesidad de ejecutar como administrador.

Si lo ejecutas como SYSTEM no tendrás problemas pero si no es así, puedes no tener permisos para abrir procesos. Es bueno tener en mente ambos sistemas que por otra parte hacen lo mismo.

Tu código puede tener un desbordamiento de buffer fácil al no pasar el tamaño del mismo y usar strcpy. Puedes pasar el tamaño y usar strncpy o resumirlo de esta otra forma pero siempre teniendo en cuenta ese importante detalle:

Código PHP:
typedef bool (__stdcall PGETMODULEFILENAMEEX)(void*, void*, char*, unsigned long);

bool GetPathFromPID(int PIDchar *FullPathint Size)
{
   
HANDLE hProcess;
   
bool retval false;
   
HINSTANCE hLib;
   
PGETMODULEFILENAMEEX pGetModuleFileNameEx;

   
hProcess OpenProcess(PROCESS_QUERY_INFORMATION PROCESS_VM_READfalsePID);
   if(
hProcess){
      try{
         
hLib LoadLibrary("psapi.dll");
         if(
hLib){
            
pGetModuleFileNameEx = (PGETMODULEFILENAMEEX)GetProcAddress(hLib,"GetModuleFileNameExA");
            if(
pGetModuleFileNameEx)
              
retval pGetModuleFileNameEx(hProcess0FullPathSize);
         }
      }catch(...){}
      
CloseHandle(hProcess);
   }else{
      
//raise Exception.Create('El Programa No Se Encuentra Activo en Memoria');
   
}
   return 
retval;

Otro detalle importante. Si usas WinXP tu código corriendo como SYSTEM va bien. En Win7 o Win8 no verás la ventana, tienen protegido el modo.

Saludos.
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Nombres de atributos de clase y nombres de propiedades noob OOP 6 29-10-2012 16:05:30
Modelado con ECO junto a Win32 alexlm78 Varios 6 20-09-2007 14:45:07
...en la Vega, junto a una acequia.... marcoszorrilla La Taberna 1 04-06-2007 22:24:41
Empaquetar Bde Junto Al Proyecto? amadis Conexión con bases de datos 6 05-09-2005 17:02:58
ordernar nombres y evitar nombres repetidos en DBLookupComboBox @-Soft Conexión con bases de datos 4 14-01-2004 16:30:51


La franja horaria es GMT +2. Ahora son las 21:00:17.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi