Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #3  
Antiguo 21-09-2015
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.210
Poder: 22
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Si te interesa saber si un proceso de 16 bits se ejecuta, sigue este hilo en C/C++.

En delphi:
Código Delphi [-]
function VDMEnumTaskWOWEx(dwProcessId: DWORD; fp: pointer; lparam: integer): integer; stdcall; external 'VdmDbg.dll' name 'VDMEnumTaskWOWEx';
function VDMEnumProcessWOW(fp: pointer; lparam: integer): integer; stdcall; external 'VdmDbg.dll' name 'VDMEnumProcessWOW';

type
TRuningProcess16 = record
  Name: Pchar;
  Running: boolean;
end;
PTRuningProcess16 = ^TRuningProcess16;


// Enumera procesos
function ProcessTasks(dwThreadId: DWORD; hMod16, hTask16: WORD; pszModName, pszFileName: PCHAR; PE: integer): boolean; stdcall;
begin
   if AnsiContainsText(pszFileName, PTRuningProcess16(PE).Name) then
   begin
      PTRuningProcess16(PE).Running:= true;
      Result:= true;
      exit;
   end;
   Result:= false;
end;

// Enumera Máquinas Virtuales
function ProcessVDMs(dwProcessId, dwAttrib: DWORD; PE: integer): boolean; stdcall;
begin
   VDMEnumTaskWOWEx(dwProcessId, @ProcessTasks, PE);
   Result:= PTRuningProcess16(PE).Running;
end;

function IsRunning16_(Name: string): boolean;
var
  PE: TRuningProcess16;
begin
  PE.Name:= PCHAR(Name);
  PE.Running:= false;

  // Buscando...
  VDMEnumProcessWOW(@ProcessVDMs, integer(@PE));
  Result:= PE.Running;
end;

Combinar una llamada al código de ecfisa, con otra a sRunning16_:

Código Delphi [-]
IsRunin16_32(ExeFileName: String): BOOL;
begin
  Result:= IsAppRunning(ExeFileName) or IsRunning16_(ExeFileName);
end;

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
Detectar proceso en ejecucion C++ dmartinezn C++ Builder 6 28-08-2012 22:07:16
Saber si un proceso esta activo Anel Hernandez Varios 3 17-01-2012 19:17:16
Detectar proceso Saindoft API de Windows 6 07-01-2009 00:13:37
Detectar usuario activo??? trohan Redes 1 24-01-2008 19:26:29
¿Cómo detectar el usuario activo? Neftali [Germán.Estévez] Trucos 1 28-12-2007 17:48:48


La franja horaria es GMT +2. Ahora son las 04:35:11.


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