Best Shell & Wait (No API's!)
![Visual Basic 6, or VB Classic Visual Basic 6, or VB Classic](https://www.fortypoundhead.com//assets/img/icons/v7/vb6.png)
Makes it easy to perform a clean "Shell & Wait" where your applicatoin kicks off an external application and waits for it to return before continuing. Many shell & wait examples I have found tend to overdrive the proccessor in a loop or require you to make API calls. This one uses the Windows Script object to take advantage of it's built-in wait parameter on the .Run method...scripting's version of Shell.
Original Author: Matt Roberts
Inputs
FileName - The name of the file you wish to run with any required switches included.
Assumptions
Should work on any Windows 98 machine. Others may need to get the newest VB service pack or install Windows Scripting Host (http://msdn.microsoft.com/scripting/jscript/download/55beta.htm). This is also included in Internet Explorer 5. If you already have IE5, this will work and it will be included when you build your setup file for distribution.
Returns
True if the file was run and returned.
False if there was a file open or save error.
EXAMPLE: ShellAndWait ("notepad.exe c: emp eset.txt)
Side Effects
None - Will not block other applications or overdrive the proccessor.
Code
Function ShellAndWait(FileName As String)
Dim objScript
On Error GoTo ERR_OpenForEdit
Set objScript = CreateObject("WScript.Shell")
' Open a file for editing in Notepad and wait for return.
'The second parameter (after the FileName) is the Display Mode (normal w/focus,
'minimized...even hidden. For more info visit:
'http://msdn.microsoft.com/scripting/windowshost/doc/wsMthRun.htm
' The third parameter is the "Wait for return" parameter. This should be set to
' True for the Wait.
ShellApp = objScript.Run(FileName, 1, True)
ShellAndWait = True
EXIT_OpenForEdit:
Exit Function
ERR_OpenForEdit:
MsgBox Err.Description
GoTo EXIT_OpenForEdit
End Function
Loading Comments ...
Comments
No comments have been added for this post.
You must be logged in to make a comment.