VS 2008 / Process.Start - Hide All My Forms And Only Show One That Says "please Wait"?
Apr 24, 2009
I am using Process.Start in my application, which is working great.My only problem is, the program it "starts", is an installer, which takes about 5 minutes to install. I woud really like to hide all my forms and only show one that says "please wait", but i cant seem to get it to stay there till the process has finished.
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Private Declare Function SetWindowPos Lib "user32" (ByVal hWnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, _ ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
I know how to launch a file or executable in VB .NET 2005. The file will launch and execution in the code continues immediately.
Process.Start("MyProg.exe")
But what if I need to start the program, wait until it finishes executing, read the exit code that it sends back, and take some action based upon the action code? How do I do that?
I'd like to have a function in my program that waits for a process to start, and once it does, it executes the code. Id like to have a form of 'buttonless messages box' or 'splash screen' waiting saying "waiting for process to start..." and once the process starts, a message box will pop up saying "Process has started!".
I was thinking of having a timer with a low delay constantly looping to see if the process exists, but that would be a little rough on the processor, no? Also, how would I accomplish the 'buttonless messagebox' that automatically closes once the process is found?
I have a simple GUI form to hide / show / minimize / terminate / force terminate Processes. i can do all well but for show and hide i need the MainWindowHandle to show or hide it
So here is hide process code:
Dim Proc As New Process = Process.GetProcessesById(List.SelectedRows(0).Cells(1)) Dim hwnd = Proc.MainWindowHandle ShowWindow(hwnd,0)
If i try the same with show code:
Dim Proc As New Process = Process.GetProcessesById(List.SelectedRows(0).Cells(1)) Dim hwnd = Proc.MainWindowHandle ShowWindow(hwnd,9)
The MainWindowHandle become 0 cuz its hidden is there is any other way to get the MainWindowHandle of Process ?
I am running macros from a button click in my application. I want the macros to run sucessfully before it start another process. I want the StartMacrosI to start and complete first before it starts DeleteFilesI. I need to wait for it to complete before I do the next function/sub.
Below is my code. Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click StartMacrosI() DeleteFilesI() End Sub [Code] .....
I designed a application on vb.net 2005. Some of the forms in this application has databindings controls. Now when such forms loads it takes some time. I want a splash screen containg "Please wait" message to appear till the form loads and the wait splash screen would be shown for every several forms in the application not only before the start up form.
I'm working on a website where we'll be getting a lot of videos to be uploaded. To keep things simple and secure, I'm just writing VB.net windows app to suck all the files in a directory in, allow you to set some options, and start the encode by spawning a new FFMpeg process.
I have a form (Form1 class) which has got a "next" button (like we have setup wizards) which shud take me to other form. Now that other form has two buttons , next and back , and it shud take me to the previous and the next form. And I want to preserve the states of each form. What I did was that I instantiated the Form2 class in the click event of the next button : [code]That does the job of showing the second form . In the click event (of the back button) handler of the second form , I have the following [code]Now , when I press the back button , the program hangs. And nothing happens. how to hide/show forms with .NET. In VB6 it's quite easy using Show/Hide methods.
I am having a bit similar task, which I am not able to get thru. I'll explain..I have two apps A and B, B is kind of a reminder application which runs in the background..but that is not important here, thing is when App B is open, it has a button which takes user to App A, I am doing that using Process.Start("A.exe") all good so far. Problem is I need to make sure that if any other instance of App A is running then I need to jump to that instance. I am able to check for the instance running using Process.GetProcesses() but I am not able to set focus to that running instance.
Trying to create a button that when clicked will check to see if a certain process image is running and if that process is running give the process focus. If the process is not running then start the application.
Whats happening is I run the code below and get the following error "The system cannot find the file specified". I've read that with UseShellExecute set to false that you can't use WorkingDirectory.
Dim Password As String = "password" Dim SecureStringPassword As New System.Security.SecureString For Each c As Char In Password
I am working on a game launcher, and I need to display a "Splash screen" until the main game has started. For this, I need to know whether or not the Process has a Main window that is fully loaded and displayed.Now I noticed the main window handle is 0 when there is none, so I tried to use that:[code]But the handle never becomes nonzero. I tried to use the title but to no avail.I do not want to go into "Thread.wait()" since then the splash would remain even if the game is already launched.
My first post! im quite new to programming but loving every minute of it.Basically i want to open another exe file from vb.net 2010. i can do it normally using
system.Diagnostics.Process.Start _ ("c:winamp.exe") if winamp for example is installed on another pc in another location i want to run it from my program but i want there to be sort of like a settings.txt file where you can edit the path to winamp and my program should first read the path set in the settings file and then open accordingly. how do i go about doing this?
btw it would be great if you could point me in the right direction for making a windows form where one can edit the settings file within my program without editing the settings file in notepad
I'm curious if it is possible to hide a group of text boxes from view in a form until a particular condition is met, and to have a custom set of text boxes for that condition. To give an example; I want radio buttons offering choices for a manner of searching records, the user selects one and then a specific set of text boxes are displayed for the user to utilize, if a different option is chosen a different set of text boxes will be shown. Is this something that can be done?
Hi. I have 2 toolbars and want to show only one at a time.
But when I swap them using .visible, it updates the form each time I switch one on/off, so it's all flickery and slow, and other controls resize to suit the indermediate state.
I've been using 'Process.Start()' for awhile now, to open web pages. And now, recently, I've noticed that it does not work anymore. Is there a solution to this? my format for it is:[URL]..and this does not work. It Throws and esception saying that the Parameter's were in-correct. This error just suddenly started appearing, no idea why.
I'm trying to open any file using Process.Start, but every time I try to open a file that isn't an executable the program crashes... This is the code I'm currently using:
vb.net Private Sub ListView1_MouseDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles ListView1.MouseDoubleClick For Each lvi As ListViewItem In ListView1.SelectedItems Process.Start(path & "" & lvi.Text) Next End Sub
Path is a string that contains the selected folder path, and lvi is the text of the list view item (each item contains the icon and name of each file). It is working fine for .exe files, I was just wondering if it's JUST for .exe files...
I want to add a scheduled task like this: Dim myProc As Process myProc = Process.Start("at", "02:00 /every:T,W,Th,F,Sa c:ackup.bat") When I type that command at a command prompt it returns "Added a new job with ID = x". How do I get this ID in my code, as it's needed if I want to delete the scheduled job? I've tried looking at some of the properties of myProc but haven't found the right one yet. Maybe I need to wait until the process has completed? (If so, how will I know?).
I am creating an application for learning purposes. I am using this: process.start("iexplore.exe"); That is working fine. However I would like to be able to tell when the page has been loaded all the way. I would like to know how to tell if the application is done processing or not, that is my main goal. If using the webbrowser control you can use the webbrowser documentcompleted event.
I cant find whats wrong with this, all I know is it could be the arguments, maybe they are in the wrong order, I dont know... it doesn't pop up any error, it executes the process but nothing happens.
I know how to launch a file or executable in VB .NET 2005. The file will launch and xecution in the code continues immediately.Process.Start("MyProg.exe")But what if I need to start the program, wait until it finishes executing, read the exit code that it sends back, and take some action based upon th