PDA

View Full Version : طریقه هماهنگی Progressbar با یک پروسه در حال اجرا



Ahmad_Crack
پنج شنبه 11 اسفند 1384, 09:54 صبح
آیا کسی اطلاع دارد که به چه طریق می توان عملیات پیشرفت یک پروسه را با ProgressBar تنظیم نمود.
البته اگر آن پروسه یک فایل باشد میتوان از طریق حجم آن پراگرس بار را تنظیم نمود
اما اگر آن پروسه فایل نباشد از ....
با تشکر

saniak_robot
پنج شنبه 11 اسفند 1384, 19:50 عصر
خوب باید ابتدا و انتهای پروسه رو بگیری بعد با Progress bar ربطش بدی

Hamid_PaK
جمعه 12 اسفند 1384, 05:59 صبح
دقیقا هدف شما چیست ؟
آیا می خواهید پروسه باز شدن، کپی شدن و ... یک فایل را نمایش دهید ؟

MiRHaDi
شنبه 13 اسفند 1384, 17:21 عصر
سلام
بستگی به خیلی چیزا داره !
اگر برنامه رو خودت نوشته باشی وسط اجراش میشه بذاری
اگه برنامه یکی دیگه باشه مدل دیگه ای داره
سوال رو دقیق بگو
بای

Ahmad_Crack
شنبه 13 اسفند 1384, 17:57 عصر
اگر آن فایل Exe باشد می توان به وسیله دستورات کنترلی shellexecute انتهای اجرای نرم افزار را از طریق فوق کنترل نمود اما نمی دانم آیا می شود در پراگرس بار مقدار مینیمم و ماکزیمم را از طریق ساختار فوق بدست آورد. و عملیات پراگرس با عملیات پیشرفت اجرای دستورات هماهنگی داشته باشد؟



var
SEInfo: TShellExecuteInfo;
ExitCode: DWORD;
ExecuteFile, ParamString, StartInString: string;
begin
ExecuteFile:='Osql';
FillChar(SEInfo, SizeOf(SEInfo), 0) ;
SEInfo.cbSize := SizeOf(TShellExecuteInfo) ;
with SEInfo do begin
fMask := SEE_MASK_NOCLOSEPROCESS;
Wnd := Application.Handle;
lpFile := PChar(ExecuteFile) ;
lpParameters:='"';
lpDirectory:=Nil;
nShow := SW_HIDE;
end;
if ShellExecuteEx(@SEInfo) then begin
repeat
Application.ProcessMessages;
GetExitCodeProcess(SEInfo.hProcess, ExitCode) ;
until (ExitCode <> STILL_ACTIVE) or Application.Terminated;
End_Process:=True;
end
و اگر آن فایل یک دستور باشد مثل دستور پشتیبان گیری از اطاعات BACKUP DATABASE
آن وقت به چه صورت این هماهنگی صورت می پذیرد؟