windows - Opret en filskiftende bruger i samme proces

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg har et program, der skal oprette en fil i en mappe, hvor den bruger, der kører programmet, ikke har tilladelse til at skrive, men andre brugere har. Er det muligt at gøre det?


Jeg ved, at jeg kan logge ind en bruger med skriverettigheder i den mappe med LogonUserA, men så ved jeg ikke hvordan man opretter en fil ved hjælp af det returnerede token. Jeg kender også brugernavnet og adgangskoden til den bruger, der kan skrive i den mappe.


Jeg bruger Delphi, men eksemplet eller ideerne kunne være på ethvert sprog.

Bedste reference


HANDLE hToken = LogonUser(...);
ImpersonateLoggedOnUser(hToken);
// do something
RevertToSelf();
CloseHandle(hToken);