PDA

View Full Version : سوال: کمک به اجرای فایل وورد در شبکه با کاربری دارای مجوز



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 کار کرده باشه می تونه کمک کنه

Mask
شنبه 28 شهریور 1394, 16:31 عصر
اول که کدتون رو در تگ مربوطه قرار بدید تا بشه خوندش.
در مورد اجرای فایل ورد در شبکه: اگه دسترسی های لازم رو داشته باشید با یه Shellexecute معمولی که از توابع API هست میتونید هر فایلی رو در شبکه باز کنید.

Delphi2010
شنبه 28 شهریور 1394, 16:47 عصر
چطور توی تک مربوطه قرار بدهم تا خوب خونده بشه ،
تابع
Shellexecute برای مواردی که مجوز کاربری هست مشکلی نداره ، شما ممکن هست که دسترسی همه ی کاربران به یک پوشه را قطع کرده باشید و فقط بخواهید با
نرم افزار خودتون فایل های موجود در پوشه خونده شود ، پس باید از تابع CreateProcessWithLogon استفاده کنید و با کاربری که دسترسی به این پوشه دارد را به پارامتر این تابع بدهید

Delphi2010
یک شنبه 29 شهریور 1394, 06:38 صبح
فکر کنم اینکار نشدنی هست ، مگه میشه یک فایل متنی یا تصویری را بصورت مستقل از شبکه بدون دسترسی اجرا کرد ، فقط فایل اجرایی را میشه اجرا کرد.
به نظرم باید فایل مورد نظر را به سیستم خود کپی و سپس اجرا کرد.
اگر کسی تجربه ایی داره لطفا بگه.

یوسف زالی
یک شنبه 29 شهریور 1394, 09:53 صبح
سلام.
فرمت کامند لاین ورد رو جستجو کنید ببینید چطور می شه با کامندلاین فایل رو به ورد داد تا براتون بازش کنه.
احتمالا winword.exe <filepath> :command