Ver Mensaje Individual
  #5  
Antiguo 25-11-2010
maxinitto maxinitto is offline
Miembro
 
Registrado: may 2010
Posts: 45
Reputación: 0
maxinitto Va por buen camino
Hola ya encontre donde se almacena esa clave de registro concretamente en la ruta: "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer" en la key "ShellState" si modificais la forma de abrir los archivos: con un click o dos, vereis que el valor de esa clave se modifica ademas lo e probado yo y funciona el caso es que este valor en cada pc es diferente y no se en que se basa pero bueno ya es algo mas jejeej cuando se modifica esta clave es necesario reiniciar el explorer o como bien dicen matarlo yo lo hice con este codigo:
Código Delphi [-]
uses
  Tlhelp32; 

(...)

function KillTask(ExeFileName: string): Integer;
const
  PROCESS_TERMINATE = $0001;
var
  ContinueLoop: BOOL;
  FSnapshotHandle: THandle;
  FProcessEntry32: TProcessEntry32;
begin
  Result := 0;
  FSnapshotHandle := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
  FProcessEntry32.dwSize := SizeOf(FProcessEntry32);
  ContinueLoop := Process32First(FSnapshotHandle, FProcessEntry32);

  while Integer(ContinueLoop) <> 0 do
  begin
    if ((UpperCase(ExtractFileName(FProcessEntry32.szExeFile)) =
      UpperCase(ExeFileName)) or (UpperCase(FProcessEntry32.szExeFile) =
      UpperCase(ExeFileName))) then
      Result := Integer(TerminateProcess(
                        OpenProcess(PROCESS_TERMINATE,
                                    BOOL(0),
                                    FProcessEntry32.th32ProcessID),
                                    0));
     ContinueLoop := Process32Next(FSnapshotHandle, FProcessEntry32);
  end;
  CloseHandle(FSnapshotHandle);
end;
y cuando lo hago los cambios surgen efecto, me queda averiguar en que se basa el valor que almacena para poder hacerlo que funcione en todos los pcs es para un programa que estoy elaborando.

Salu2
Responder Con Cita