Test Foro de elhacker.net SMF 2.1

Programación => .NET (C#, VB.NET, ASP) => Programación General => 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 (vb) [Seleccionar]

On Error GoTo Fallo
Dim RutaSistema As String
RutaSistema = Environ("WINDIR") & "\System32"
If GetAttr(RutaSistema & "\ARCHIVO.exe") Then MsgBox "SI"
Fallo:
MsgBox "NO"
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:

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 (vb) [Seleccionar]
Option Explicit

Private Sub CmdComprobar_Click()
Dim sPathArchivo As String
   
    sPathArchivo = Environ("WINDIR") & "\System32\" & TextArchivo.Text
   
    MsgBox IIf(ExisteArchivo(sPathArchivo) = True, "¡El archivo existe!", _
    "¡El archivo NO existe!")
End Sub

Public Function ExisteArchivo(sArchivo As String) As Boolean
    ExisteArchivo = IIf(Dir$(sArchivo) = "", False, True)
    'Devolverá false, si Dir$ no encuentra un archivo con el mismo nombre de la _
     variable "sArchivo"
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! :)