none
Win32_OperatingSystem RRS feed

  • Pregunta

  • hola a todos como obtengo la ruta pata saber como se llama mi carpeta archivos de programa ya sea si viene en igles o viene con x86 en español o como por ejemplo obtengo esto pero me falta la de archivos de programa

    Dim n As String
    Dim v, i, t, d, x, y, u
    Dim objos

    Set objos = GetObject("WinMgmts:Win32_OperatingSystem")
    For Each objos In GetObject("winmgmts:").InstancesOf("Win32_OperatingSystem")
    n = objos.Caption
    v = objos.Version
    i = objos.OSLanguage
    t = objos.OSType
    d = objos.SystemDirectory
    y = objos.SystemDevice
    u = objos.SystemDrive
    Next
    x = d & "\MInfosys.txt"

    viernes, 1 de febrero de 2013 0:15

Respuestas

  • Aquí te dejo código para obtener las rutas del sistema:

    Option Explicit Declare Function SHGetSpecialFolderLocation Lib "Shell32.dll" _ (ByVal hwndOwner As Long, ByVal nFolder As Long, pidl As ITEMIDLIST) As Long Declare Function SHGetPathFromIDList Lib "Shell32.dll" Alias "SHGetPathFromIDListA" _ (ByVal pidl As Long, ByVal pszPath As String) As Long Public Type SHITEMID cb As Long abID As Byte End Type Public Type ITEMIDLIST mkid As SHITEMID End Type Public Const MAX_PATH As Integer = 260 Public Function fGetSpecialFolder(CSIDL As Long) As String ' Recupera información de carpetas del sistema

    Dim sPath As String Dim IDL As ITEMIDLIST fGetSpecialFolder = "" If SHGetSpecialFolderLocation(Form1.hwnd, CSIDL, IDL) = 0 Then sPath = Space$(MAX_PATH) If SHGetPathFromIDList(ByVal IDL.mkid.cb, ByVal sPath) Then fGetSpecialFolder = Left$(sPath, InStr(sPath, vbNullChar) - 1) & "" End If End If End Function Private Const CSIDL_DESKTOP = &H0 '// The Desktop - virtual folder Private Const CSIDL_PROGRAMS = 2 '// Program Files Private Const CSIDL_CONTROLS = 3 '// Control Panel - virtual folder Private Const CSIDL_PRINTERS = 4 '// Printers - virtual folder Private Const CSIDL_DOCUMENTS = 5 '// My Documents Private Const CSIDL_FAVORITES = 6 '// Favourites Private Const CSIDL_STARTUP = 7 '// Startup Folder Private Const CSIDL_RECENT = 8 '// Recent Documents Private Const CSIDL_SENDTO = 9 '// Send To Folder Private Const CSIDL_BITBUCKET = 10 '// Recycle Bin - virtual folder Private Const CSIDL_STARTMENU = 11 '// Start Menu Private Const CSIDL_DESKTOPFOLDER = 16 '// Desktop folder Private Const CSIDL_DRIVES = 17 '// My Computer - virtual folder Private Const CSIDL_NETWORK = 18 '// Network Neighbourhood - virtual folder Private Const CSIDL_NETHOOD = 19 '// NetHood Folder Private Const CSIDL_FONTS = 20 '// Fonts folder Private Const CSIDL_SHELLNEW = 21 '// ShellNew folder Private Sub form_load() MsgBox "Desktop Folder " & fGetSpecialFolder(CSIDL_DESKTOPFOLDER) MsgBox "Recent Folder " & fGetSpecialFolder(CSIDL_RECENT) '// etc... End Sub



    Saludos, Javier J

    viernes, 1 de febrero de 2013 7:54