Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Sprachunabhängiger Ersatz für (prozent)USERPROFILE(prozent)(backslash)Startmenü?

Mitglied: gypakk

gypakk (Level 1) - Jetzt verbinden

03.11.2007, aktualisiert 05.11.2007, 6623 Aufrufe, 5 Kommentare

Hallo,

ich suche einen sprachunabhängigen Ersatz für die Pfadangabe "%USERPROFILE%\Startmenü".
Mein Programm soll schließlich auch unter ausländischen Windowsversionen korrekt laufen, und dort heißt der Ordner "Startmenü" sicher anders.

Wer kann mit hierzu einen Tipp geben?
Mitglied: Biber
03.11.2007 um 13:30 Uhr
Moin gypakk,

in welcher Richtung Du suchen solltest, lässt sich sagen.
Da Du Dich aber noch nicht geoutet hast, welches Werkzeug Du verwendest, bleibt es ein wenig schwammig.

Da die "Persönlichen Benutzerordner" eine reine Kunst-Konstruktion der grafischen Oberfläche (auf deutsch: für den Explorer) sind, deshalb sind auch die Info darüber in einem entsprechenden Subkey "\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" (Eintrag "Start Menu") unter HKLM und HKCU abgreifbar.
Geht also mit RegEdit./Reg.exe. Wenn Du die benutzen kannst/darfst.

Oder, fallls Dir VBS/JS als Werkzeug dienen, dann eine Abfrage WShell.SpecialFolders("StartMenu").

Wenn Dein Programm auf C# aufsetzt, dann brauchen wir aber nicht weiter über eine konkrete Syntax meditieren.

CMD-Prompt-Beispiel über Registry:
01.
set key="HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" 
02.
reg query %key% /v "Start Menu" 
03.
....(bla).. 
04.
for /f "skip=3 tokens=4" %i in ('reg query %key% /v "Start Menu"') do @echo %~ni 
05.
Startmen³
-VBS-Beispiel-
01.
Set WSHShell=CreateObject("WScript.Shell") 
02.
Wscript.echo "->" & WShShell.SpecialFolders("Startmenu")
Grüße
Biber
Bitte warten ..
Mitglied: bastla
03.11.2007 um 13:36 Uhr
Hallo gyppak!

Zumindest auch für englischsprachige Versionen sollte
01.
"%userprofile%\Startm~1"
klappen, ansonsten könnte ich noch einen Ansatz unter Verwendung von (temporärem) VBScript anbieten:
01.
@echo off & setlocal 
02.
set "GS=%temp%\GetStartMenuPath.vbs" 
03.
echo WScript.Echo WScript.CreateObject("WScript.Shell").SpecialFolders("StartMenu")>"%GS%" 
04.
for /f "delims=" %%i in ('cscript //nologo "%GS%"') do set "StartMenue=%%i" 
05.
del "%GS%" 
06.
echo %StartMenue%
Wenn Du ersatzweise die Zeile
01.
echo WScript.Echo WScript.CreateObject("WScript.Shell").SpecialFolders("AllUsersStartMenu")>"%GS%"
verwendest, erhältst Du (schwer zu erraten ) den Pfad zum "All Users"-Startmenü.

Grüße
bastla
Bitte warten ..
Mitglied: gypakk
04.11.2007 um 12:28 Uhr
Hallo Biber und bastla,

danke euch beiden für den Tip! Da hätt ich auch selber draufkommen können. *ans hirn patsch*

Ich werd einfach den Pfad aus der Registry lesen (hoffe, da ist kein Unterschied zwischen XP und Vista, aber das werd ich testen).

Zum Hintergrund (sorry, hatte ich vergessen):
Das Programm ist in C geschrieben und nutzt nur die normalen Windows-DLLs. Das Lesen Der Registry gehört natürlich dazu.

Schönen Sonntag!
gypakk
Bitte warten ..
Mitglied: Biber
04.11.2007 um 17:23 Uhr
Moin gypakk,

hoffe, da ist kein Unterschied zwischen XP und Vista
Hmmm, wie immer bei M$ und Radio Eriwan: Im Prinzip ja...

Soweit ich es mitbekommen habe, sind die Reg-Pfade gleich.
Nicht aber die Sicherheits-"Features". Unter Vi$ta scheint dieser Zweig "Shell Folders" bzw. "User Shell Folders" offensichtlich als irgendwie schützenswert (d.h. Rechte werden benötigt) eingestuft zu werden.

Deshalb nur der (relativ unqualifizierte) Tipp: Wenn Dein Proggi auf einem Dir unbekannten Vi$ta-Rechner mit Werkseinstellungen (insbesondere UAC) laufen könnte, dann solltest Du es einmal mit dieser Konfiguration und ohne Adminrechte testen.

Vi$ta, was da auf Euch zukommt?

Falls Dein Proggi erst nächstes Jahr in die Breite geht: Bis dahi werden die meisten schon wieder zurück bei XP sein ..*gg

Falls Du diesen Punkt verifizieren/falsifizieren kannst, häng bitte noch einen Kommentar drunter bei Gelegenheit.
Ich lasse den Beitrag dafür offen.

Grüße
Biber
Bitte warten ..
Mitglied: gypakk
05.11.2007 um 22:58 Uhr
Jau, die betreffenden Registry-Pfade sind bei XP und Vista die gleichen. Heute hab ich sogar einen Test mit Win2000 gemacht, ging auch!

Sicherheitsprobleme mit der Vista-Registry werd ich nicht bekommen, da ich die Zweige ja nur lese.

Warten, bis alle wieder bei XP sind, kann ich leider nicht. Obwohl ich mir das wünschen würde.
Das Programm (Internet-Einwahltool) läuft schon seit anderthalb Jahren bei einigen Usern, und ein paar davon waren so abenteuerlustig, sich Vista anzuschaffen.

Bisher gab es keine Installationsprozedur, weil das Programm eigentlich nur eine EXE-Datei ist. Aber manche Neulinge wissen schon gar nicht mehr, was sie damit anfangen sollen, will heißen, wo sie die Exe hinkopieren sollen.

Grüße gypakk
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Powershell csv importiert keine backslashes

Frage von Druide83Batch & Shell2 Kommentare

Guten Morgen, habe gerade ein Problem das ich so überhaupt nicht einordnen kann. Ich habe eine Excel mit UNC ...

Batch & Shell

String zerlegen an letzem Backslash

gelöst Frage von fuguBatch & Shell4 Kommentare

Heyho ihr Supercoder ;-) Ich möchte für ein Backup-Skript eine Textdatei mit den Backup-Quellen. Die Daten einzulesen ist leicht. ...

Monitoring

VNC Ersatz!?

gelöst Frage von Hendrik2586Monitoring25 Kommentare

Hello und Guten Morgen an alle. :) Hat jemand von euch eine Idee zwecks einem kostenfreien bzw. kostengünstigen Ersatz ...

Windows 7

Startmenü anpassen

Frage von Thor01Windows 72 Kommentare

Hallo, wie kann ich im Startmenü gewisse Programmpunkte ausblenden? Möchte z.B. nicht das von einem Programm unter Start >Programm ...

Neue Wissensbeiträge
Backup

2016 - Restore mit WBAdmin - iSCSI Device als Sicherungsziel

Erfahrungsbericht von Henere vor 1 TagBackup1 Kommentar

Servus zusammen, was mich eben einige graue Haare gekostet hat Server 2016. Ich habe meinem Server eine weitere M2 ...

Humor (lol)
(Part num your Hacked phone. +XX XXXXXX5200)
Erfahrungsbericht von Henere vor 3 TagenHumor (lol)8 Kommentare

Mein Handy hat aber ne ganz andere Endnummer. Muss ich mir jetzt Sorgen machen ? :-) Vielleicht betrifft es ...

Exchange Server

Letztes Update für Exchange 2016 CU9 war in gewisser Weise destruktiv

Erfahrungsbericht von DerWoWusste vor 3 TagenExchange Server9 Kommentare

Kurzer Erfahrungsbericht zu Exchange2016-KB4340731-x64 Der Exchangeserver hat wie gewöhnlich versucht, es in der Nacht automatisch zu installieren - abgesehen ...

Erkennung und -Abwehr

Neue Sicherheitslücke Foreshadow (L1TF) gefährdet fast alle Intel-Prozessoren

Information von Frank vor 4 TagenErkennung und -Abwehr3 Kommentare

Eine neue Sicherheitslücke, genannt Foreshadow (alias L1TF) wurde auf der Usenix Security 18 von einem Team internationaler Experten veröffentlicht. ...

Heiß diskutierte Inhalte
E-Mail
Deutsche e-Mail Adresse auf iPhone in Katar. Nur Probleme
gelöst Frage von vanTastE-Mail32 Kommentare

Moin, ich habe hier in Deutschland auf einem Exchange 2013 eine e-Mail Adresse (name@domain.de) für einen Kollegen in Katar ...

Windows Server
Domäne beitreten nicht möglich, unter VMWare windows Server 2016 Core
Frage von AmanuelWindows Server12 Kommentare

Ich habe auf meinem Mac unter VMWare Windows Server 2016 Core und Windows Server 2016 Desktopversion installiert. Beide Systeme ...

RedHat, CentOS, Fedora
OTRS 5 kann keine Mails mehr abrufen
gelöst Frage von opc123RedHat, CentOS, Fedora11 Kommentare

Hallo, OTRS kann keine Mails mehr abrufen. Verschicken ja. Dadurch kommen keine Tickets mehr rein. Gibt es Anlaufpunkte was ...

Windows Server
Server 2016 Autotiering Storage Space
Frage von HenereWindows Server11 Kommentare

Servus, ich habe jetzt ein StorageSpace auf einem Server 2016 in Betrieb zum Testen. 1x M2 mit 512GB (970pro) ...