Delphi2010
شنبه 28 شهریور 1394, 16:27 عصر
سلام
می خوام یک فایل وورد را در شبکه با یک کاربری که مجوز دارد را اجرا کنم ، دستورات زیر یک فایا اجرایی را در شبکه با کاربری دارای مجوز اجرا می کند ولی فایل وورد
را می گه باید فایل اجرایی باشه (exe) و باز نمی کنه ،
لطفا راهنمایی کنید چه تغییری در کد زیر انجام بدم تا بتونم به غیر از فایل اجرایی فایل وورد را هم باز کنم.
var
wUsername, wDomain, wPassword, wApplicationName: WideString;
pwUsername, pwDomain, pwPassword, pwApplicationName: PWideChar;
StartupInfo: TStartupInfo;
ProcessInfo: TProcessInformation;
begin
wUsername := 'test';
wDomain := 'test';
wPassword := '123456';
wApplicationName := '\\Projects\testFinal\1\100.docx';
pwUsername := Addr(wUsername[1]);
pwDomain := Addr(wDomain[1]);
pwPassword := Addr(wPassword[1]);
pwApplicationName := Addr(wApplicationName[1]);
FillChar(StartupInfo, SizeOf(TStartupInfo), 0);
StartupInfo.cb := SizeOf(TStartupInfo);
if not CreateProcessWithLogon(pwUsername,pwDomain,pwPassw ord,LOGON_WITH_PROFILE,
pwApplicationName,nil,CREATE_DEFAULT_ERROR_MODE,
nil,nil,StartupInfo,ProcessInfo) then
RaiseLastOSError;
اگر کسی با تابع CreateProcessWithLogon کار کرده باشه می تونه کمک کنه
می خوام یک فایل وورد را در شبکه با یک کاربری که مجوز دارد را اجرا کنم ، دستورات زیر یک فایا اجرایی را در شبکه با کاربری دارای مجوز اجرا می کند ولی فایل وورد
را می گه باید فایل اجرایی باشه (exe) و باز نمی کنه ،
لطفا راهنمایی کنید چه تغییری در کد زیر انجام بدم تا بتونم به غیر از فایل اجرایی فایل وورد را هم باز کنم.
var
wUsername, wDomain, wPassword, wApplicationName: WideString;
pwUsername, pwDomain, pwPassword, pwApplicationName: PWideChar;
StartupInfo: TStartupInfo;
ProcessInfo: TProcessInformation;
begin
wUsername := 'test';
wDomain := 'test';
wPassword := '123456';
wApplicationName := '\\Projects\testFinal\1\100.docx';
pwUsername := Addr(wUsername[1]);
pwDomain := Addr(wDomain[1]);
pwPassword := Addr(wPassword[1]);
pwApplicationName := Addr(wApplicationName[1]);
FillChar(StartupInfo, SizeOf(TStartupInfo), 0);
StartupInfo.cb := SizeOf(TStartupInfo);
if not CreateProcessWithLogon(pwUsername,pwDomain,pwPassw ord,LOGON_WITH_PROFILE,
pwApplicationName,nil,CREATE_DEFAULT_ERROR_MODE,
nil,nil,StartupInfo,ProcessInfo) then
RaiseLastOSError;
اگر کسی با تابع CreateProcessWithLogon کار کرده باشه می تونه کمک کنه