ich zur Zeit mit diesem:AppData-Ordner des Benutzers, die Anwendung läuft
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)
dem AppData-Ordner des angemeldeten Benutzers des Zugriff auf das Ergebnis ein Weg ist wie folgt:.
"C:\\Documents and Settings\\Michael\\Application Data"
Aber: Um das Programm auf einem anderen Benutzer ausgeführt, beginne ich einen neuen Prozess wie folgt aus:
try {
var processInfo = new ProcessStartInfo() {
FileName = System.Reflection.Assembly.GetExecutingAssembly().Location,
UserName = txtWinLoginUsername.Text,
Password = txtWinLoginPassword.SecurePassword,
Domain = this.domain,
UseShellExecute = false, //kein Plan
};
//start program
Process.Start(processInfo); //execute
Application.Current.MainWindow.Close(); //close current Window if it worked
} catch {
//Windows login failed //reset PasswordBox etc.
}
und töten Sie die aktuelle.
Also, was ich will, ist der neue Ordner AppData aber die AppData Anruf Ergebnisse in dem Standard ein:
"C:\\Documents and Settings\\Default\\Application Data"
Was ich brauche sind die Anwendungsdaten des Benutzers des Fadens in meinem Programm funktioniert. UND ich mag es nicht so etwas wie Substring verwenden (Nur wenn ich
Hat sich der Benutzer jemals zuvor bei diesem Computer angemeldet? Wenn nicht, dann haben sie noch keinen Ordner. Haben Sie auch versucht, 'LoadUserProfile = true' in Ihrem' ProcessStartInfo' Objekt zu setzen? – DavidG
'System.IO.Path.GetPathRoot (Environment.GetFolderPath (Environment.SpecialFolder.System)) +" ProgramData "' wie "C: \ ProgramData" kann von anderem Benutzer nicht zugegriffen werden. Wie kann ich es beheben – Michael1248
Sie stellen jetzt andere Fragen. – DavidG