Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Acceso Directo: Diferenciar entre Archivo/Carpeta

Estas en el tema de Acceso Directo: Diferenciar entre Archivo/Carpeta en el foro de Visual Basic clásico en Foros del Web. Estoy usando Windows Script Host para crear ó ver la ruta de un acceso directo... El tema es que no puedo diferenciar si un acceso ...
  #1 (permalink)  
Antiguo 02/01/2010, 11:05
Avatar de culd  
Fecha de Ingreso: noviembre-2003
Mensajes: 959
Antigüedad: 13 años, 11 meses
Puntos: 19
Acceso Directo: Diferenciar entre Archivo/Carpeta

Estoy usando Windows Script Host para crear ó ver la ruta de un acceso directo... El tema es que no puedo diferenciar si un acceso directo es un archivo o carpeta...

Podria mirar la ruta de destino y ver si tiene extension, pero un archivo puede no tener extension...

Aparte podria verificar si esa ruta, existe como carpeta... Pero si esta borrada creeria que seria un archivo...

En fin como puedo determinar realmente el destino del acceso directo de que tipo es...

Código vb:
Ver original
  1. Set WshShell = CreateObject("WScript.Shell")
  2. Set vlnk = WshShell.CreateShortcut(Ruta)
  3. vlnk.TargetPath 'esta seria la ruta
  4. Set vlnk = Nothing
  5. Set wshell = Nothing
  #2 (permalink)  
Antiguo 02/01/2010, 13:22
Avatar de pkj
pkj
 
Fecha de Ingreso: julio-2006
Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 11 años, 2 meses
Puntos: 29
Respuesta: Acceso Directo: Diferenciar entre Archivo/Carpeta

Esto es lo mejor tengo:

Código vb:
Ver original
  1. Function EsCarpeta(ByVal Nombre As String) As Boolean
  2.   On Local Error GoTo ErrorEsCarpeta
  3.   If (GetAttr(Nombre) And vbDirectory) = vbDirectory Then
  4.     EsCarpeta = True
  5.   End If
  6.   Exit Function
  7. ErrorEsCarpeta:
  8.   Err.Clear
  9. End Function
Saludos
__________________
No hay preguntas tontas, solo gente estup..., ¡No!, ¿como era? No hay gente que pregunte a tontos... ¡Nooo!... ¡Vaya cabeza!
  #3 (permalink)  
Antiguo 02/01/2010, 14:18
Avatar de seba123neo  
Fecha de Ingreso: febrero-2007
Ubicación: Esperanza, Santa Fe
Mensajes: 1.046
Antigüedad: 10 años, 8 meses
Puntos: 19
Respuesta: Acceso Directo: Diferenciar entre Archivo/Carpeta

Código vb:
Ver original
  1. Private Declare Function PathIsDirectory Lib "shlwapi.dll" Alias "PathIsDirectoryA" (ByVal pszPath As String) As Long
  2.  
  3. Private Sub Form_Load()
  4.     MsgBox CStr(CBool(PathIsDirectory("c:\windows")))
  5. End Sub
__________________
" Todos Somos Ignorantes; lo que pasa es que no todos ignoramos las mismas cosas " - Albert Einstein
  #4 (permalink)  
Antiguo 02/01/2010, 16:24
Avatar de erbuson  
Fecha de Ingreso: noviembre-2009
Mensajes: 701
Antigüedad: 7 años, 11 meses
Puntos: 53
Respuesta: Acceso Directo: Diferenciar entre Archivo/Carpeta

Hola:

Imagino que si no tiene extensión no será un archivo sino una carpeta, ya que no es muy 'lógico' que digamos un acceso directo a un archivo sin extensión ya que ¿ Para que sirve ?

Un acceso directo en mi opinión, generalmente debe poder abrirte el archivo o ser un ejecutable. ¿ Tienes alguna aplicación que te abra un archivo sin extensión ?

Bueno, no es por poner pegas, no deja de ser un comentario y es simplemente por no reinventar la rueda. De todos modos, conste que una carpeta puede tener extensión aunque no sea habitual.

Saludos

Etiquetas: directo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:02.