Visual Basic - como creo acceso directo

Life is soft - evento anual de software empresarial
 
Vista:

como creo acceso directo

Publicado por leo (11 intervenciones) el 11/03/2006 21:45:06
como creo un acceso directo en el menu inicio desde visual basic ya que con
'"Programs"- lo crea en Inicio > Programas
'"StartMenu"- lo crea en el Menú Inicio
en windows xp no anda
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

Usa este código

Publicado por Zoto (55 intervenciones) el 11/03/2006 22:34:24
Hola de nuevo, Leo.

Mira, pues para crear un acceso directo en Windows XP, usa el código siguiente.
Pega esto en un módulo:

'_________________________________________________________
'CÓDIGO FUENTE DEL MÓDULO
'_________________________________________________________

'Esta función, a partir de un nombre de archivo, directorio de destinación y
'una variable Opcional que contiene los Argumentos, crea un Acceso Directo
'del archivo introducido en primer lugar.

Public Function CreateShortCut(FileName As String, Destination As Variant, Optional Args As String) As Long

Dim WScript As Object
Dim WShortCut As Object
Dim ShortCutPath As String

On Error GoTo CreateShortCut_Error

If Len(Dir(FileName)) = 0 Then Err.Raise 52
Set WScript = CreateObject("WScript.Shell")
ShortCutPath = WScript.SpecialFolders(Destination)
If Len(ShortCutPath) = 0 Then
ShortCutPath = Destination
If Len(Dir(ShortCutPath, vbDirectory)) = 0 Then
Err.Raise 52
End If
End If
Set WShortCut = WScript.CreateShortCut _
(ShortCutPath & "\" & Dir(FileName) & ".lnk")
WShortCut.TargetPath = FileName
' Aqui puedes indicar el icono
WShortCut.IconLocation = FileName & ", 0"
WShortCut.WorkingDirectory = Left(FileName, _
Len(FileName) - Len(Dir(FileName)))
' indicas los argumentos
WShortCut.Arguments = Args
WShortCut.Save
CreateShortCut = -1

exit_CreateShortCut:

Set WShortCut = Nothing
Set WScript = Nothing
On Error GoTo 0

Exit Function

CreateShortCut_Error:

CreateShortCut = Err.Number
Resume exit_CreateShortCut

End Function

'_________________________________________________________
'CÓDIGO FUENTE DEL MÓDULO
'_________________________________________________________

Y, para testear el código, pega lo siguiente en el evento Load del Formulario principal del proyecto:

'_________________________________________________________
'CÓDIGO FUENTE DEL FORMULARIO
'_________________________________________________________

Dim numError As Long 'Almacena el número de error

numError = CreateShortCut("C:\ruta.exe", "Desktop") 'Llamada a la función
'dando como destinación
'el Escritorio

'ESPECIFICACIONES
'--------------------------------------------------------
'Puede ser cualquier tipo de archivo.
'Aquí se presentan las 3 destinaciones más usuales:

'Escritorio -> "Desktop"
'Inicio-Programas -> "Programs"
'Mis Documentos -> "MyDocuments"
'Inicio -> "StartMenu"
'--------------------------------------------------------

If numError = -1 Then
MsgBox "Se ha creado el acceso directo" 'Mensaje indicando Acceso directo creado
Else
MsgBox "Error: " & numError & vbCrLf & vbCrLf _
& "No se pudo completar la operación" 'Error al crear Acceso directo
End If

'_________________________________________________________
'CÓDIGO FUENTE DEL FORMULARIO
'_________________________________________________________

Espero que esto te ayude.

Hasta otra,

Zoto
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

RE:Usa este código

Publicado por leo (11 intervenciones) el 11/03/2006 22:55:42
Gracias zoto
Y te molesto de nuevo sabes como puedo hacer para que con un código
Controle si el windows es xp
Y si tiene instalado Outlook express
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