View Full Version : اجرای فایل در برنامه
hadavinia
یک شنبه 08 شهریور 1383, 12:03 عصر
چگومه می توان با استفاده از اپن دایلوگ فرمت های گوناگون را در محیط ویندوز باز کرد؟
MiRHaDi
یک شنبه 08 شهریور 1383, 17:08 عصر
سلام
if Opendialog1.execute then
winexec(opendialog1.filename));
بای
hadavinia
دوشنبه 09 شهریور 1383, 09:51 صبح
این کد عمل نمی کند خواهش می کنم جواب دهید:
ara_prg
دوشنبه 09 شهریور 1383, 10:02 صبح
البته بصورت
if Opendialog1.execute then
winexec(PChar(opendialog1.filename),SW_SHOW);
حالا چک کن :wink:
MiRHaDi
سه شنبه 10 شهریور 1383, 03:00 صبح
سلام
مرسی :))
حالا :)
قربانت
hadavinia
سه شنبه 10 شهریور 1383, 08:56 صبح
این کد همه ی فرمت ها را باز نمی کند از جمله doc اگه می شه کدی برای باز کردن doc بدین ممننون میشم
SalarSoft
سه شنبه 10 شهریور 1383, 09:01 صبح
این کد همه ی فرمت ها را باز نمی کند از جمله doc اگه می شه کدی برای باز کردن doc بدین ممننون میشم
باید از ShellExecute استفاده کنی:
برای فایل غیر اجرایی:
shellexecute(0,'open',Pchar('c:\myfile.bmp'))
برای فایل اجرایی:
shellexecute(0,nil,Pchar('c:\myfile.exe'))
hadavinia
سه شنبه 10 شهریور 1383, 11:04 صبح
این کد عمل نمی کنه دلفی اشکال می گیره
SalarSoft
چهارشنبه 11 شهریور 1383, 18:05 عصر
باید در قسمت uses یونیت Shellapi وارد کنی! :)
hadavinia
چهارشنبه 11 شهریور 1383, 18:37 عصر
لطفا جواب دهید
hadavinia
چهارشنبه 11 شهریور 1383, 18:38 عصر
لطفا جواب دهید :?:
Developer Programmer
چهارشنبه 11 شهریور 1383, 18:48 عصر
لطفا جواب دهید
خواهشا اینقدر پشت سر هم پست نکنید! بر خلاف مقررات سایته :!:
Sohrab_Tapar
چهارشنبه 11 شهریور 1383, 19:14 عصر
درباره shellexecute تو همین سایت جستجو کن.
پیدا میکنی
Milad2002b
چهارشنبه 11 شهریور 1383, 23:19 عصر
shellapi رو در uses اضافه کن و سپس از دستور shellexecute استفاده کن
فریدی
شنبه 14 شهریور 1383, 23:35 عصر
چطور میشه با این دستورات برنامه را تا اجرای کامل دستور نگهداشت :?:
عقاب طلایی
سه شنبه 17 شهریور 1383, 11:38 صبح
سلام من یه مشکلی دارم
می خوام دوتا فایل exe رو به ترتیب اجرا کنم به طوری که بعد از اینکه اولی اجرا شد وتموم شد دومی شروع بشه.
ضمنا این دو فایل برای نصب هستند و هر کدوم 2 3 دیقیقه طول می کشند
اگه میشه لطفا راهنمایی کنید که چطور می تونم این کار رو از داخل برنامه انجام بدم.
با تشکر
:?:
عقاب طلایی
یک شنبه 22 شهریور 1383, 00:58 صبح
من یه کد پیدا کردم (توی کتاب) ولی Erroe می ده :?
procedure onButton1Click;
var
prghandle : THandle;
begin
(winexec(c:\prg.exe',SW_SHWNORMAL;
while getmoduleusage(prghandle)<> 0 do
application.processmessages;
end;
:| :?:
SalarSoft
یک شنبه 22 شهریور 1383, 09:16 صبح
می تونی با ستفاده از تابع زیر صبر کنی تا اجرای فایل فوق به پایان برسد! :)
Function RunProcess(Const AppPath:String;MustWait:Boolean=False;AppParams:St ring='';Visibility:Word=SW_SHOWNORMAL):DWord;
Var
SI:TStartupInfo;
PI:TPROCessINFORMATION;
Proc:THandle;
zFileName:Array[0..Max_Path*2]of char;
zParams:Array[0..Max_Path]of char;
begin
FillChar(SI,SizeOf(SI),0);
SI.cb:=SizeOf(Si);
Si.wShowWindow:=Visibility;
If Not CreateProcess(strPCopy(zFilename,AppPath),
StrPCopy(zParams,APpParams),
nil,nil,False,NORMAL_PRIORITY_CLASs ,nil,nil,SI,PI) then
Raise EXCeption.CreateFmt('Failed to execute program '+
apppath+'.Error Code %d',[GetlastError]);
Proc:=PI.hProcess;
CloseHandle(Pi.HThread);
If MustWait then
If WaitForSingleObject(Proc,infinite)<>Wait_Failed then
GetExitCodeProcess(Proc,Result);
CloseHandle(Proc);
end;
به صورت زیر:
RunProcess('c:\myExe.exe',true)
در این صورت صبر می کند تا اجرای فایل فوق به پایان برسد! :wink:
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.