madhatter5501
New member
- Joined
- Jun 29, 2012
- Messages
- 2
- Programming Experience
- Beginner
I am developing a kind of portable toolkit for learning purposes and am stuck on the following code. If anyone understands what I am trying to do, and can assist a newbie would be great!
The part in particular that I am stuck on is running the Do While loop to check if the "firefox.exe" process is running and if it is running - do a thread.sleep and loop. If the process is not running, delete the temporary directory created.
The part in particular that I am stuck on is running the Do While loop to check if the "firefox.exe" process is running and if it is running - do a thread.sleep and loop. If the process is not running, delete the temporary directory created.
VB.NET:
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
FireFox()
End Sub
Sub FireFox()
Dim programName As String = "FirefoxPortable.exe"
Dim tempworkingdirectory As String = "C:\temp-working-directory\"
Dim firefoxdirectory As String = tempworkingdirectory & "FirefoxPortable\"
Dim userInput
userInput = MsgBox("Please wait while firefox is being copied locally to your hard drive" & vbCrLf & "Firefox will be located here: " & firefoxdirectory & vbCrLf & "Press OK to continue!", vbOKCancel, "Information")
Try
Select Case userInput
Case vbOK
If My.Computer.FileSystem.DirectoryExists(firefoxdirectory) Then
My.Computer.FileSystem.DeleteDirectory(firefoxdirectory, FileIO.DeleteDirectoryOption.DeleteAllContents)
End If
My.Computer.FileSystem.CreateDirectory(firefoxdirectory)
My.Computer.FileSystem.CopyDirectory(filePath & "FirefoxPortable\", firefoxdirectory)
ProgramRun(firefoxdirectory, programName)
Case vbCancel
'Do Nothing
End Select
Do While CheckProcess("FireFox.exe") = True
Select Case CheckProcess("Firefox.exe")
Case True
MsgBox("FireFox is still running", vbOKOnly)
System.Threading.Thread.Sleep(500)
Case False
MsgBox("FireFox has closed!", vbOKOnly)
My.Computer.FileSystem.DeleteDirectory(firefoxdirectory, FileIO.DeleteDirectoryOption.DeleteAllContents)
End Select
Loop
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End Sub
Public Function CheckProcess(name As String) As Boolean
For Each clsProcess As Process In Process.GetProcesses()
If clsProcess.ProcessName.StartsWith(name) Then
Return True
End If
Next
Return False
End Function