Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   C++ Builder (https://www.clubdelphi.com/foros/forumdisplay.php?f=13)
-   -   Problema con ShellExecute (https://www.clubdelphi.com/foros/showthread.php?t=97236)

Saltimbanki 20-02-2025 19:50:39

Problema con ShellExecute
 
1 Archivos Adjunto(s)
Me pasa una cosa curiosa, esta orden:

ShellExecute(NULL,"open", "Agenda-Diario.pdf", NULL, NULL,SW_SHOWNORMAL);

Me funciona en Builder 5 pero no en Builder 12, me da el error adjunto,
Alguien sabe a que se debe ??

Gracias

Casimiro Noteví 20-02-2025 20:11:02

Prueba:

Código PHP:

#include <windows.h>
#include <shellapi.h>
#include <vcl.h> // Necesario para Application->Handle en VCL

ShellExecute(Application->Handle"open""Agenda-Diario.pdf"NULLNULLSW_SHOWNORMAL); 


navbuoy 23-02-2025 16:59:04

Debes incluir ShellAPI.hpp en tu unidad.

Código:

#include <Vcl.ShellAPI.hpp>
La función tiene la siguiente forma:

Código:

ShellExecute(HWND hwnd, LPCWSTR lpOperation, LPCWSTR lpFile, LPCWSTR lpParameters, LPCWSTR lpDirectory, INT nShowCmd);
Parámetros Importantes
hwnd → Ventana padre (Handle del formulario o nullptr).
lpOperation → Acción a realizar (L"open", L"edit", L"print").
lpFile → Archivo, programa o URL a abrir.
lpParameters → Parámetros del programa (opcional, nullptr si no se usa).
lpDirectory → Carpeta de trabajo (opcional, nullptr si no se usa).
nShowCmd → Modo de visualización (SW_SHOWNORMAL, SW_HIDE, etc.).


Ejemplo 1: Abrir una Página Web en el Navegador Predeterminado

Código:

#include <Vcl.ShellAPI.hpp>

void __fastcall TForm1::Button1Click(TObject *Sender)
{
    ShellExecute(Handle, L"open", L"https://www.embarcadero.com", nullptr, nullptr, SW_SHOWNORMAL);
}

probablemente te falla porque tienes que poner esa "L" delante de "open" y de la URL


La franja horaria es GMT +2. Ahora son las 18:26:33.

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