api - delphi, windows impersonation as user to copy a file -


i need copy file located on directory on newtwork local machine. did research , found function called windows api, when tried call copy file received access denied message. here project.

procedure tform1.btnloginlogonclick(sender: tobject); var    phtoken: thandle; begin    writelog('');    writelog('current user: ' + getcurrentuser());    // check correct login    phtoken := 0;    try    phtoken := checklogin(edit1.text, edit2.text, edit3.text); //user,password,domain    writelog('handle: ' + inttostr(phtoken));    if (phtoken > 0) begin       writelog('user login ok');        // login ok, switch acl new login context (demo purpose only)       impersonateloggedonuser(phtoken);        writelog('impersonated user: ' + getcurrentuser());      if( copyfile(pwidechar(edit4.text),('c:\cp2101.zip'),false)=false) then//copyfile('c:\a.jpg','c:\warn.jpg',true))=false             showmessage(syserrormessage(getlasterror));        // revert original login context       reverttoself;       writelog('reverted original user: ' + getcurrentuser());        tquery(phtoken, edit3.text);       tquerygroups(phtoken, edit3.text);     end else begin       writelog('user login failed');    end;           closehandle(phtoken);    end; end; 

this project: project link

the first suggestion not have permissions access network directory, or file in question. these access permissions or copy permissions (or both). check have permissions both of these.


Comments

Popular posts from this blog

c# - SelectList with Dictionary, add values to the Dictionary after it's assigned to SelectList -

how can i manage url using .htaccess in php? -

ios - I get the error Property '...' not found on object of type '...' -