Forum: PC-Programmierung SHGetSpecialFolderPath und SHGetKnownFolderPath!


von Paul P. (Firma: EDV) (paulis23)


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.

von Jim M. (turboj)


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?

von Paul P. (Firma: EDV) (paulis23)


Lesenswert?

Nein, das ist das selber Benutzer, ein Mal als Exe aufruft und einmal in 
einer VB-Script, die dort ein Mail-Import macht als Dienst.
Das Exe hat ein Oberfläche macht andere Sachen auch.
Danke.

von bluppdidupp (Gast)


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.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Paul P. schrieb:
> und einmal in einer VB-Script, die dort ein Mail-Import macht als
> Dienst.

Was magst Du damit meinen? Ein Dienst im Windows-Sinne (Service)?

von Paul P. (Firma: EDV) (paulis23)


Lesenswert?

einer VB-Script, die dort ein Mail-Import macht als Dienst.
Das Exe hat ein Oberfläche macht andere Sachen auch.
Danke.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Paul P. schrieb:
> einer VB-Script, die dort ein Mail-Import macht als Dienst.

Das hast Du jetzt schön wiederholt, aber es ist exakt keinen Deut klarer 
geworden, was Du da meinst.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.