Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 24-06-2008
_cero_ _cero_ is offline
Miembro
 
Registrado: abr 2007
Posts: 147
Poder: 18
_cero_ Va por buen camino
Unhappy Crear un acceso directo

Hola que tal están todos.

Verán estoy haciendo mi propio instalador (sin usar inno setup o algún generador de instaladores), ya está casi terminado, solo me falta saber cómo crear un acceso directo, y aunque he buscado mucho no he logrado hacerlo ya que todas las respuestas en el foro son solo para delphi y no he logrado traducirlo a c++.

Así que si alguno de ustedes pudiera ayudarme, se los agradecería mucho.
Responder Con Cita
  #2  
Antiguo 24-06-2008
_cero_ _cero_ is offline
Miembro
 
Registrado: abr 2007
Posts: 147
Poder: 18
_cero_ Va por buen camino
Wink

Bueno como ya me estoy tardando lo solucione creando la DLL en Delphi y cargándola en C, funciona pero lo hubiera preferido de otro modo, bueno les digo como lo hice por si se le ofrece a alguien más.

Primero escribí la DLL.
Código Delphi [-]
library accesos;
{Ls}

uses
  SysUtils,
  Windows,
  Messages,
  Dialogs,
  ShlObj,
  ComObj,
  ActiveX,
  StdCtrls,
  ShFolder,
  Classes;

{$R *.res}

procedure crearlink(const Rutlink :string);
var
  CDire: array [0..MAX_PATH-1] of char;
  IObject: IUnknown;
  SLink: IShellLink;
  PFile: IPersistFile;
  desk :string;
begin
  SHGetFolderPath(0,CSIDL_DESKTOPDIRECTORY,0,0,CDire);
  desk:=CDire+'\Requerimientos.lnk';
  IObject:=CreateComObject(CLSID_ShellLink);
  SLink:=IObject as IShellLink;
  PFile:=IObject as IPersistFile;
  with SLink do
  begin
    SetArguments(PChar(''));
    SetDescription(PChar('Sistema Requerimientos'));
    SetPath(PChar(Rutlink));
  end;
  PFile.Save(PWChar(WideString(desk)), FALSE);
end;

exports crearlink;
begin
end.

Después, para llamarla desde una aplicación hecha en C.
Código:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  typedef bool (*TCHA)(char *com1);
  HMODULE hLib = LoadLibrary("accesos.dll");
  if (hLib)
  {
   String olo="C:\\Program Files";
   TCHA createlinkk = (TCHA)GetProcAddress(hLib,"crearlink");
   createlinkk(olo.c_str());
   FreeLibrary(hLib);
  }
}
Bueno nos vemos y gracias.
Responder Con Cita
  #3  
Antiguo 24-06-2008
_cero_ _cero_ is offline
Miembro
 
Registrado: abr 2007
Posts: 147
Poder: 18
_cero_ Va por buen camino
Olvide mencionar que crea el acceso directo de la carpeta archivos de programas que se pone en la variable “olo”, el acceso directo se crea en el escritorio con el nombre “Requerimientos” pero puedes cambiar eso escribiendo la ruta y nombre en la variable “desk” de la dll.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Crear acceso directo en delphi!! oracle Varios 3 26-07-2005 16:21:53
crear acceso directo en el escritorio felixgo API de Windows 6 29-12-2004 19:36:56
Crear un acceso directo a una aplicion desde MS-DOS aram2r Windows 2 19-05-2004 17:14:59
Crear acceso directo? mrmanuel Varios 1 13-09-2003 01:21:27
crear un acceso directo tango01 Varios 7 20-06-2003 16:42:48


La franja horaria es GMT +2. Ahora son las 13:50:02.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi