|
-
Dec 11th, 2001, 09:51 AM
#1
The standard way to create a process, then wait for it is called shell and wait. Use CreateProcess and WaitForSingleObject.
Not shell & EnumWindows.
Here is the MSDN tutorial:
http://support.microsoft.com/default...;EN-US;q129796
-
Dec 11th, 2001, 10:07 AM
#2
Junior Member
Works fine if you know the executable on beforehand.
How do I proceed if I only have a path and a filename ?
(i.e. "c:\ExDir\something.doc")
General Protection Fault : An error occured while executing Error #3051 : undocumented error. Please wait while your computer crashes.
-
Dec 11th, 2001, 10:11 AM
#3
ShellExecuteEx returns a pid that you can use in WaitForSingleObject.
Code:
Const SEE_MASK_INVOKEIDLIST = &HC
Const SEE_MASK_NOCLOSEPROCESS = &H40
Const SEE_MASK_FLAG_NO_UI = &H400
Private Type SHELLEXECUTEINFO
cbSize As Long
fMask As Long
hwnd As Long
lpVerb As String
lpFile As String
lpParameters As String
lpDirectory As String
nShow As Long
hInstApp As Long
lpIDList As Long
lpClass As String
hkeyClass As Long
dwHotKey As Long
hIcon As Long
hProcess As Long
End Type
Private Declare Function ShellExecuteEx Lib "shell32.dll" Alias "ShellExecuteEx" (SEI As SHELLEXECUTEINFO) As Long
Sub ShowProps(FileName As String, OwnerhWnd As Long)
Dim SEI As SHELLEXECUTEINFO
Dim r As Long
With SEI
'Set the structure's size
.cbSize = Len(SEI)
'Seet the mask
.fMask = SEE_MASK_NOCLOSEPROCESS Or _
SEE_MASK_INVOKEIDLIST Or SEE_MASK_FLAG_NO_UI
'Set the owner window
.hwnd = OwnerhWnd
'Show the properties
.lpVerb = "properties"
'Set the filename
.lpFile = FileName
.lpParameters = vbNullChar
.lpDirectory = vbNullChar
.nShow = 0
.hInstApp = 0
.lpIDList = 0
End With
r = ShellExecuteEX(SEI)
End Sub
Private Sub Form_Load()
'KPD-Team 1999
'URL: http://www.allapi.net/
'E-Mail: [email protected]
ShowProps "c:\config.sys", Me.hwnd
End Sub
-
Dec 11th, 2001, 10:16 AM
#4
Duh.
PS: that's not quite true - you CAN get the executable associated with any file, if an association exists.
See:
http://www.mvps.org/vbnet/code/syste...executable.htm
-
Dec 11th, 2001, 10:33 AM
#5
Junior Member
Have to go through all the documentation but I'm sure I'll come up with something.
Thanks a great deal !
General Protection Fault : An error occured while executing Error #3051 : undocumented error. Please wait while your computer crashes.
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|