Ver Mensaje Individual
  #2  
Antiguo 04-08-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Reputación: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Según el SDK (Software Development Kit) de Win32 que se incluye junto a Delphi, precisamente, la función "WinExec" puede devolver "ERROR_FILE_NOT_FOUND" si no se encuentra el programa a ejecutar.

Es cuestión de una condicional, por lo tanto:

Código Delphi [-]
    if WinExec(PChar('notepad.exe'), SW_SHOWNORMAL) = ERROR_FILE_NOT_FOUND then
      ShowMessage(SysErrorMessage(GetLastError));
Respecto de avisar al usuario, creo que con lo de arriba bastaría, pero, haciendo algo como lo siguiente puedes abrir el programa predeterminado en el sistema para esos menesteres y preparar un correo:

Código Delphi [-]
  procedure TForm1.Button1Click(Sender: TObject);
  resourcestring
    correo = 'mailto:juanperez@juanperez.com?subject="Asunto"&body="Cuerpo"';
  begin
    ShellExecute(Self.Handle, 'open', PChar(correo), nil, nil, SW_SHOWNORMAL);
  end;
Respecto de abrir el Bloc de notas con un determinado texto, pues, la verdad, ahora mismo no sabría decirte cómo hacerlo, fuera de crear un archivo de texto "al vuelo" y abrirlo con el Bloc de notas, so pena de que pueda hacerse de otra mejor forma.

Por cierto, no dejes de revisar la ayuda de la función "WinExec" así como de "ShellExecute" en donde te digo más arriba: Mira en el menú de Delphi Help > Windows SDK. Y por cierto también, acaso te interese la función "FileExists", puesto que con esta puedes averiguar si un archivo/programa existe.
__________________
David Esperalta
www.decsoftutils.com

Última edición por dec fecha: 04-08-2005 a las 03:41:13. Razón: (corrección del texto)
Responder Con Cita