Ver Mensaje Individual
  #8  
Antiguo 09-04-2019
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola fracapa.

Todo lo referente a la función ShellExecute lo encontrarás [aquí].

La función devuelve un resultado que, de fallar el llamado, podes revisar para ver cuál es el problema .

Un ejemplo:
Código Delphi [-]
uses ShellApi;
...
var
  lpOperation : PChar;
  lpFile      : PChar;
  lpParameters: PChar;
  lpDirectory : PChar;
  nShowCmd    : Integer;
  RetValue    : Integer;
begin
  lpOperation  := 'open';
  lpFile       := 'NOTEPAD.EXE';
  lpParameters := 'C:\WINDOWS\WIN.INI';
  lpDirectory  := 'C:\WINDOWS';
  nShowCmd     := SW_NORMAL;

  RetValue     := ShellExecute(Handle,
                               lpOperation,
                               lpFile,
                               lpParameters,
                               lpDirectory,
                               nShowCmd);

  if  RetValue <= 32 then
    ShowMessage(SysErrorMessage(GetLastError())); // (*)
end;
(*) También podrías evaluar el valor de retorno mediante la declaración if o case en lugar de la función GetLastError.

El ejemplo admite varias optimizaciones ya que prioricé la didactica sobre la eficiencia.


Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita