SHGetSpecialFolderPath und SHGetKnownFolderPath!

OP (Firma: EDV) #5221555
Lesenswert?

Hallo Zusammen, ich verwende die Visual Studio 2013 und MFC.
Ich habe folgendes Problem:
Wenn ich mein Kompilierte Exe starte und ein Trace ausgebe für die FKT:
SHGetSpecialFolderPath --> bekomme ich den Pfad: 
C:\User\XY\AppData\Roaming
SHGetKnownFolderPath --> bekomme ich den Pfad: C:\User\XY\AppData\Local
und das ist so richtig.
Wenn ich aber mein kompilierte Exe als Dienst starte dann die liefern 
die die FKT völlig andere Pfade, was zum Fehler ausführte.
Hat jemand eine Idee, was man aufrufen soll damit den Benutzer-Pfade wie 
oben auch unter dienst richtig bekommt bekommt?
Unter dienst bekomme ich für die FKT
SHGetSpecialFolderPath-->C:\Windows\system32\config\systemprofile\AppDat 
a\Roaming
SHGetKnownFolderPath-->C:\Windows\system32\config\systemprofile\AppData\ 
Local
Ich bin sehr dankbar für jede Hinweis bzw. Idee
Danke im Voraus.
#5221561
Lesenswert?

Paul P. schrieb:
> Wenn ich aber mein kompilierte Exe als Dienst starte dann

.. läuft die unter dem SYSTEM Konto, das logischerweise andere 
Einstellungen hat.

Paul P. schrieb:
> Hat jemand eine Idee, was man aufrufen soll damit den Benutzer-Pfade wie
> oben auch unter dienst richtig bekommt bekommt?

An der Stelle an der Dienste gestartet werden sind noch keine Benutzer 
eingeloggt.

Warum ein Dienst und nicht einfacher ein Autostart-Programm, das bei der 
Anmeldung startet?
Gast #5221646
Lesenswert?

>Nein, das ist das selber Benutzer
Bei dem Pfad wird die Anwendung definitiv nicht im Kontext eines 
regulären Benutzer-Accounts gestartet.
Mit GetUserName() könnte man vermutlich prüfen, welcher Benutzer real 
verwendet wird.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren