Visual Basic - API para accesos directos

Life is soft - evento anual de software empresarial
 
Vista:

API para accesos directos

Publicado por Fco. Javier (18 intervenciones) el 03/04/2003 21:09:39
Hola!

Hace poco deje un mensaje pidiendo una API que funcione en todos los ordenadores y en cualquier visual (vb 5, 6, .net) para crear accesos directos. Me dieron una direccion de una web muy buena pero en ella encontré unas APIS que ya tenia y que no me van porque necesitan tener vb 6. Alguien me puede ayudar?????

Muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:API para accesos directos

Publicado por Pere (150 intervenciones) el 03/04/2003 22:38:43
La más fácil es usar el objeto Shell del Windows Scripting...
No necesita ninguna Api.

Dim WshShell as Object, strDesktop as Object, oShellLink as Object

set WshShell = CreateObject("WScript.Shell")
strDesktop = WshShell.SpecialFolders("Desktop")
set oShellLink = WshShell.CreateShortcut(strDesktop & "\Nombre del Acceso Directo.lnk")
oShellLink.TargetPath = "Path completo del archivo"
oShellLink.WindowStyle = 1
oShellLink.Hotkey = "CTRL+SHIFT+F"
oShellLink.IconLocation = "Icono.ico"
oShellLink.Description = "Titulo del Acceso Directo "
oShellLink.WorkingDirectory = strDesktop
oShellLink.Save

Saludos.
Pere
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

La anterior era sin Api, esta con ella (1)

Publicado por Pere (150 intervenciones) el 03/04/2003 22:54:40
Te la mando en dos entregas pues no me deja enviarla en sólo una.
Primera parte:

Para crear un acceso directo debemos usar unas funciones que se encuentran en la librería vb5stkit.dll del Asistente para Instalación de aplicaciones (stkit432.dll para Vb 4 32 bits) y que se encuentra en el directorio ..VB\setupkit\kitfil32 (en Vb 5).

Declare Function OSfCreateShellGroup Lib "VB5STKIT.DLL" Alias
"fCreateShellFolder" (ByVal lpstrDirName As String) As Long

Declare Function OSfCreateShellLink Lib "VB5STKIT.DLL" Alias
"fCreateShellLink"
(ByVal lpstrFolderName As String, ByVal lpstrLinkName As
String, ByVal lpstrLinkPath As String, ByVal
lpstrLinkArguments As String) As Long

Declare Function OSfRemoveShellLink Lib "VB5STKIT.DLL" Alias
"fRemoveShellLink"
(ByVal lpstrFolderName As String, ByVal lpstrLinkName As
String) As Long

OSfCreateShellGroup crea un nuevo grupo fuera de Inicio>Programas si la carpeta especificada no existe ya.

OSfCreateShellLink crea (o reemplaza) un vínculo en Inicio>Programas o en cualquiera de sus subcarpetas inmediatas.

OSfRemoveShellLink quita un vínculo de Inicio>Programas o cualquiera de sus subcarpetas inmediatas.

Fin de la primera parte.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

La anterior era sin Api, esta con ella (2)

Publicado por Pere (150 intervenciones) el 03/04/2003 22:57:25
Segunda parte (en realidad ya está aquí va un ejemplo de cómo se crea)

Ejemplos :

Crearemos un nuevo grupo llamado "Grupo de prueba" en Incio>Programas :

l = OSfCreateShellGroup("Grupo de prueba")

Añadiremos vínculos a ese grupo :

l = OSfCreateShellLink("Grupo de prueba", "Mi programa 1", "C:\WIN95\prueba
de PP.EXE", "parametros")
l = OSfCreateShellLink("Grupo de prueba", "Mi programa 2", "C:\WIN95\prueba de PP.EXE", "parametros")

Eliminaremos el segundo vínculo :

l = OSfRemoveShellLink("Grupo de prueba", "Mi programa 1")

Que aproveche.

Un saludo
Pere
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar