Français
Source/ Codesnippets

reg_expand_sz, Environment

 

Michael
W.
là je plusieurs fois sur cette Registry-Typ gestolpert suis, habe je simple la fois deux Opportunités getestet um à den korrekten String trop gelangen.
Déclarer string s
Cls
Imprimer " ---------- ExpandEnvStr$(\q%path%\q)"
Imprimer "PATH =",ExpandEnvStr$("%path%")
Imprimer " ----- "
Imprimer "AppData =",ExpandEnvStr$("%APPDATA%")
Imprimer " ----- "
Imprimer "UserProfile =",ExpandEnvStr$("%USERPROFILE%")
Imprimer " ----- "
Imprimer "Computername =",ExpandEnvStr$("%COMPUTERNAME%")
Imprimer " ---------- GetEnvVars$()"
s = GetEnvVars$()
Imprimer s
Imprimer "Das sind", Len( s, » ), "Environment-Variablen."
Imprimer " ---------- ExpandEnvPath$(\q%APPDATA%\XProfan\Test\Test.data\q)"
Imprimer ExpandEnvPath$("%APPDATA%")
Imprimer " ---------- "
WaitKey
Fin
// interne
//   Wert$ = GetEnv$(EnvVar$)
//   SetEnv EnvVar$, Wert$

Proc ExpandEnvStr$

    // une Registry-String des Typs REG_EXPAND_SZ enträtseln
    //    s = ExpandEnvStr("%path%")
    // large-/Kleinschreibung qui Env-Variablen-Namen ist égal.
    Paramètres string EnvStr
    Déclarer mem inbuf,outbuf, int Size, string erg
    Size = 32768// max.
    Faible inbuf,Size
    Faible outbuf,Size
    String inbuf,0 = EnvStr
    Externe("kernel32.dll","ExpandEnvironmentStringsA", inbuf, outbuf, Size)
    erg = String$(outbuf,0)
    Dispose inbuf,outbuf
    Retour erg

ENDPROC

Proc GetEnvVars$

    // Liefert une Komma-saparierten String
    // avec allen Variablennamen des Environments zurück
    //    s = GetEnvVars$()
    Déclarer mem buf
    Déclarer long Size, EnvAdr, p, i
    Déclarer string s, tmp, erg
    Size = 32768// max.
    Faible buf,Size
    EnvAdr = Externe("kernel32.dll","GetEnvironmentStringsA")
    buf = EnvAdr// Travailler mittels Bereich
    Claire p, erg
    s = String$(buf,p)

    Tandis que Len(s) > 0

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

    Endwhile

    Dispose buf
    Externe("kernel32.dll","FreeEnvironmentStringsA",EnvAdr)
    Cas Len(erg) : erg = Del$(erg,1,1)
    Retour erg

ENDPROC

// qui ici veux chez mir malheureusement pas...

Proc ExpandEnvPath$

    // Ersetzt bestimmte Ordnernamen dans une vollständig qualifizierten Pfad avec ihren zugehörigen Werten.
    //   s = ExpandEnvPath$("%APPDATA%\XProfan\Test\Test.data")
    //    ALLUSERSPROFILE, APPDATA, COMPUTERNAME, ProgramFiles, SystemDrive, SystemRoot, USERPROFILE
    // qui Werte existieren pas dans allen Environments. quoi pas existiert, wird simple pas traduit.
    //    %ALLUSERSPROFILE - qui "ALL USERS" Profilordner
    //    %APPDATA% - Dossier pour Anwendungsdaten des aktuellen Benutzers (Vue u höher)
    //    %COMPUTERNAME% - qui Systemname
    //    %ProgramFiles% - qui "Program Files" Dossier (Programmdateien)
    //    %SystemDrive% - qui System-Laufwerksbuchstabe (z.B. C:)
    //    %SystemRoot% - qui System-Stamm-Dossier (z.B. C:\Windows)
    //    %USERPROFILE% - cela aktuelle Benutzer-Profil (z.B. C:\USERS\<username>)
    Paramètres string EnvPath
    Déclarer mem inbuf,outbuf, int Size,Ok, string erg
    Size = 32768// max.
    Faible inbuf,Size
    Faible outbuf,Size
    String inbuf,0 = EnvPath
    Ok = Externe("Shlwapi.dll","PathUnExpandEnvStringsA", inbuf, outbuf, Size)
    Cas Ok : erg = String$(outbuf,0)
    Dispose inbuf,outbuf
    Retour erg

ENDPROC


Na s'il te plaît, allez doch (zumindest einer en)

Keywords: Environment, ExpandEnvironmentStrings

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



Zum Quelltext


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

4.152 Views

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

Themeninformationen

cet Thema hat 1 participant:

Michael W. (1x)


Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie