Hmm..
Also, wenn die Freigabe für deinen Zettelkasten auf einem anderen Server liegt kannst Du mal folgenden Ablauf testen (Schnell aus einem meiner Projekte herausgeschnitten):
Delphi-Quellcode:
// Logon as user
LogonUser(PChar(FUserName),
nil, PChar(FUserPW), LOGON32_LOGON_INTERACTIVE,LOGON32_PROVIDER_DEFAULT, FhLogon)
// Load User Profile
if LoadUserProfile(FhLogon, FProfileInfo)
then begin
// Impersonate the user to gain access to network printers connected to the user
if ImpersonateLoggedOnUser(FhLogon)
then begin
... Make Zettel
// Switch back to Old User
RevertToSelf
// Unload the User-Profile
UnloadUserProfile(FhLogon,FProfileInfo.hProfile)
then
// Close the User
CloseHandle(FhLogon);
Nur so als Suchhilfe..
Ich benutze den Ablauf, um einen Drucker eines anderen User-Logins auswählen, bzw. später darauf auszudrucken. Hilfreich, in einem Service, der als LocalSystem läuft und der Drucker ein Netzwerk-Drucker ist.