Español
Fuente/ Codesnippets

reg_expand_sz, Environment

 

Michael
W.
Desde que mehrmals encima esta Registry-Typ gestolpert bin, Yo simplemente veces zwei Möglichkeiten getestet en a el korrekten String a gelangen.
Declarar cadena s
Cls
Imprimir " ---------- ExpandEnvStr$(\q%path%\q)"
Imprimir "PATH =",ExpandEnvStr$("%path%")
Imprimir " ----- "
Imprimir "AppData =",ExpandEnvStr$("%APPDATA%")
Imprimir " ----- "
Imprimir "UserProfile =",ExpandEnvStr$("%USERPROFILE%")
Imprimir " ----- "
Imprimir "Computername =",ExpandEnvStr$("%COMPUTERNAME%")
Imprimir " ---------- GetEnvVars$()"
s = GetEnvVars$()
Imprimir s
Imprimir "Das sind", Len( s, "," ), "Environment-Variables."
Imprimir " ---------- ExpandEnvPath$(\q%APPDATA%\XProfan\Test\Test.data\q)"
Imprimir ExpandEnvPath$("%APPDATA%")
Imprimir " ---------- "
WaitKey
End
// intern
//   Valor$ = GetEnv$(EnvVar$)
//   SetEnv EnvVar$, Valor$

Proc ExpandEnvStr$

    // una Registry-String des Typs REG_EXPAND_SZ enträtseln
    //    s = ExpandEnvStr("%path%")
    // Groß-/Kleinschreibung el Env-Variables-Namen es egal.
    Parámetros cadena EnvStr
    Declarar mem inbuf,outbuf, int Size, cadena erg
    Size = 32768// max.
    Dim inbuf,Size
    Dim outbuf,Size
    String inbuf,0 = EnvStr
    Externo("kernel32.dll","ExpandEnvironmentStringsA", inbuf, outbuf, Size)
    erg = String$(outbuf,0)
    Disponer inbuf,outbuf
    Volver erg

ENDPROC

Proc GetEnvVars$

    // Liefert una Komma-saparierten String
    // con allen Variablennamen des Environments zurück
    //    s = GetEnvVars$()
    Declarar mem buf
    Declarar long Size, EnvAdr, p, i
    Declarar cadena s, tmp, erg
    Size = 32768// max.
    Dim buf,Size
    EnvAdr = Externo("kernel32.dll","GetEnvironmentStringsA")
    buf = EnvAdr// bearbeiten mittels Zona
    Claro p, erg
    s = String$(buf,p)

    Mientras que Len(s) > 0

        tmp = Trim$(Substr$(s,1,"="))
        Case Len(tmp) : erg = erg + "," + tmp
        Inc p, Len(s) + 1
        s = String$(buf,p)

    EndWhile

    Disponer buf
    Externo("kernel32.dll","FreeEnvironmentStringsA",EnvAdr)
    Case Len(erg) : erg = Del$(erg,1,1)
    Volver erg

ENDPROC

// el hier voluntad en me por desgracia, no...

Proc ExpandEnvPath$

    // Ersetzt cierto Ordnernamen en una vollständig qualifizierten Pfad con ihren zugehörigen Werten.
    //   s = ExpandEnvPath$("%APPDATA%\XProfan\Test\Test.data")
    //    ALLUSERSPROFILE, APPDATA, COMPUTERNAME, ProgramFiles, SystemDrive, SystemRoot, USERPROFILE
    // El Werte existieren no en allen Environments. Was no existiert, se simplemente no traducido.
    //    %ALLUSERSPROFILE - el "ALL USERS" Profilordner
    //    %APPDATA% - Ordner para Anwendungsdaten des aktuellen Benutzers (Vista u höher)
    //    %COMPUTERNAME% - el Systemname
    //    %ProgramFiles% - el "Program Files" Ordner (Programmdateien)
    //    %SystemDrive% - el Sistema-Laufwerksbuchstabe (z.B. C:)
    //    %SystemRoot% - el Sistema-Stamm-Ordner (z.B. C:\Windows)
    //    %USERPROFILE% - el aktuelle Benutzer-Perfil (z.B. C:\USERS\<username>)
    Parámetros cadena EnvPath
    Declarar mem inbuf,outbuf, int Size,Ok, cadena erg
    Size = 32768// max.
    Dim inbuf,Size
    Dim outbuf,Size
    String inbuf,0 = EnvPath
    Ok = Externo("shlwapi.dll","PathUnExpandEnvStringsA", inbuf, outbuf, Size)
    Case Ok : erg = String$(outbuf,0)
    Disponer inbuf,outbuf
    Volver erg

ENDPROC


Na Por favor,, va doch (zumindest uno su)

Keywords: Environment, ExpandEnvironmentStrings

 
Alle Sprachen
System: Windows 8/10, XProfan X4
Programmieren, das spannendste Detektivspiel der Welt.
13.08.2016  
 



Zum Quelltext


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

4.160 Views

Untitledvor 0 min.
p.specht18.11.2021
Peter Max Müller18.11.2021
Wilfried Friebe17.11.2021
RudiB.17.11.2021
Más...

Themeninformationen

Dieses Thema ha 1 subscriber:

Michael W. (1x)


Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie