|
web
newsgroups
|
|||||||||||||||||||||||
|
|||||||||||||||||||||||
progress barHi,
If i start a process using System.Diagnostics.Process.Start(myprog.exe, myattributes) is it possible to display a running process bar instead of showing a DOS window which shows what the program is doing? thanks moley_c***@yahoo.com.au wrote:
> Hi, You can use the ProcessInfo class to start the process with no window. > If i start a process using System.Diagnostics.Process.Start(myprog.exe, > > myattributes) > is it possible to display a running process bar instead of showing a > DOS window which shows what the program is doing? > thanks > Don't know if that will do what you want. Chris Why don't you just run your progress bar in a seperate thread, instead
of a seperate process? I think it would be safer that way (main program exits, so does progress bar). Also, you won't get a dos window (although use the Process Background property to hide the dos prompt). With a progress bar, you want to be able to call the STEP method to make sure it actually increases as your program performs tasks. This is a lot harder in another process (which is basically another application) as opposed to another thread (same application). Here's a simple example: Dim frmProgress as new ProgressForm() me.hide() frmProgress.Show() ' do stuff frmProgress.ProgressBar.Step() ' do more stuff frmProgress.ProgressBar.Step() ' hack Microsoft site frmProgress.ProgressBar.Step() ' take over the world frmProgress.ProgressBar.Step() frmProgress.Close() me.Show() Steven Nagy Hi Steven,
thanks for your reply but i do not understand what you mean. I am a vb.net newbie Lynn,
You don't have control of the process that is running in the DosBox. Therefore the steps of the progressbar can not be measured. A progressbar needs a begin, an end and the steps to reach that. You have only the begin. I hope this gives an idea Cor Show quoteHide quote "Lynn" <moley_c***@yahoo.com.au> schreef in bericht news:1142250377.469111.27630@p10g2000cwp.googlegroups.com... > Hi Steven, > thanks for your reply but i do not understand what you mean. > I am a vb.net newbie > What part don't you understand?
What is your final objective here? Perhaps give more of a rundown of what you are trying to achieve. Steve i need to run a batch file from my windows form. Instead of displaying
what i am running to the user, i want to hide the DOS window and replace it with a progress bar to tell me that the batch file is still running. Not sure if this is possible. Lynn,
That is in my opinion not possible. What is mostly done (as well by Microsoft) is showing an AVI until the waitforexit is done. http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemdiagnosticsprocessclasswaitforexittopic2.asp Those AVI's are in Visual Studio Net somewhere in the program files (it can be that you first have to unpack the zip file with those) I hope this helps, Cor. if i use WaitForExit my windows form hangs with a white foreground
until the DOS command has finished executing. is this normal? can this be overcome? Cor,
can you also post a sample code on how showing an AVI is used with waitforexit? thanks Lynn,
I have not the time to make a sample now however in pseudo code (almost real). Open a new project Drag on that an picturebox Set the image to a *gif* file. You can find those in gif animations in C:\Program Files\Microsoft Visual Studio 8\Common7\VS2005ImageLibrary set the picturebox to visible = false picturebox1.visible = true Dim p As New System.Diagnostics.ProcessStartInfo() p.Verb = "print" p.CreateNoWindow = True p.WindowStyle = ProcessWindowStyle.Hidden p.FileName = "C:\filename.exe" Dim pr As System.Diagnostics.Process = System.Diagnostics.Process.Start(p) pr.WaitForExit() picturebox1.visible = false I hope this helps, Cor Run the 'wait for exit' in a seperate thread. Have it raise an event
when done. Have you main form catch the event and hide the pic box. SN Steven,
> Run the 'wait for exit' in a seperate thread. Have it raise an event Why a seperate thread to run a Gif? The Dos process itself is already in a seperated process. Cor Its not the dos process that is the issue.
Its the main UI thread being told to wait for exit. Which means I won't spend any time on redrawing your screen while its waiting, thus the whiteness you mentioned. can you post a sample code on this -> 'wait for exit' in a seperate
thread. Have it raise an event when done. thanks in advance
Need some help with vb StatusStrip Control
How to abort a WinForms apps with no main window [VB.NET] How to store/load XML schema internally... Fields in Access database returned in alphabetical order datagridview combo box ASP.NET, CSS, and Netscape 7.1 Fitting a character on a small button latency when loading forms Coding a TimeSpan Best value Help file builder |
|||||||||||||||||||||||