visual basic 6 y variables de entorno

Iniciado por ^kazike^, 5 Mayo 2008, 13:24 PM

0 Miembros y 1 Visitante están viendo este tema.

^kazike^

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

aaronduran2

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"

seba123neo

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.
La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson

cassiani

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!

^kazike^