Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: ^kazike^ en 5 Mayo 2008, 13:24 pm



Título: visual basic 6 y variables de entorno
Publicado por: ^kazike^ en 5 Mayo 2008, 13:24 pm
Hola,
Hay alguna forma de saber si un programa esta en el path del sistema utilizando visual basic?
Tambien tengo esta otra duda:
Necesito lanzar un .bat en VB que a su vez lanza un programa. Hay alguna forma de saber si la ejecucion del script fue satisfactoria, es decir si el programa su pudo ejecutar?
Gracias y Saludos


Título: Re: visual basic 6 y variables de entorno
Publicado por: aaronduran2 en 5 Mayo 2008, 13:43 pm
Podrías utilizar este código:

Código
  1. On Error GoTo Fallo
  2. Dim RutaSistema As String
  3. RutaSistema = Environ("WINDIR") & "\System32"
  4. If GetAttr(RutaSistema & "\ARCHIVO.exe") Then MsgBox "SI"
  5. Fallo:
  6. MsgBox "NO"
  7.  


Título: Re: visual basic 6 y variables de entorno
Publicado por: seba123neo en 5 Mayo 2008, 13:55 pm
o algo asi con api:

Código:
Private Declare Function GetSystemDirectory Lib "kernel32" Alias "GetSystemDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long

Private Sub Form_Load()
Dim sSave As String, Ret As Long
sSave = Space(255)
Ret = GetSystemDirectory(sSave, 255)
sSave = Left$(sSave, Ret)
MsgBox ExisteArchivo(sSave & "\calc.exe")
End Sub

Private Function ExisteArchivo(sNombreArchivo As String) As Boolean
Dim AttrDev%
On Error Resume Next
AttrDev = GetAttr(sNombreArchivo)
If Err.Number Then
Err.Clear
ExisteArchivo = False
Else
ExisteArchivo = True
End If
End Function

saludos.


Título: Re: visual basic 6 y variables de entorno
Publicado por: cassiani en 5 Mayo 2008, 20:26 pm
Otra forma:

Código
  1. Option Explicit
  2.  
  3. Private Sub CmdComprobar_Click()
  4. Dim sPathArchivo As String
  5.  
  6.    sPathArchivo = Environ("WINDIR") & "\System32\" & TextArchivo.Text
  7.  
  8.    MsgBox IIf(ExisteArchivo(sPathArchivo) = True, "¡El archivo existe!", _
  9.    "¡El archivo NO existe!")
  10. End Sub
  11.  
  12. Public Function ExisteArchivo(sArchivo As String) As Boolean
  13.    ExisteArchivo = IIf(Dir$(sArchivo) = "", False, True)
  14.    'Devolverá false, si Dir$ no encuentra un archivo con el mismo nombre de la _
  15.      variable "sArchivo"
  16. End Function

La verdad hay muchas, será cuestion de gustos...

¡Saludos!


Título: Re: visual basic 6 y variables de entorno
Publicado por: ^kazike^ en 6 Mayo 2008, 18:53 pm
perfecto, gracias a los 3! :)