Question:
does anyone know the visual basic 6 code for the following?
2007-07-03 08:41:41 UTC
while clicking on a command button,open any application present on your computer
Three answers:
Dave H
2007-07-10 12:04:42 UTC
That works fine asynchronously. If you need to "run" a program and wait for it to complete you will need additional programming.



This is the code

-----------------------------------------------

Option Explicit



Private Type STARTUPINFO

cb As Long

lpReserved As String

lpDesktop As String

lpTitle As String

dwX As Long

dwY As Long

dwXSize As Long

dwYSize As Long

dwXCountChars As Long

dwYCountChars As Long

dwFillAttribute As Long

dwFlags As Long

wShowWindow As Integer

cbReserved2 As Integer

lpReserved2 As Long

hStdOutput As Long

hStdError As Long

End Type



Private Type PROCESS_INFORMATION

hProcess As Long

hThread As Long

dwProcessID As Long

dwThreadID As Long

End Type



Private Declare Function WaitForSingleObject Lib "kernel32" (ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long

Private Declare Function CreateProcessA Lib "kernel32" (ByVal lpApplicationName As Long, ByVal lpCommandLine As String, ByVal lpProcessAttributes As Long, ByVal lpThreadAttributes As Long, ByVal bInheritHandles As Long, ByVal dwCreationFlags As Long, ByVal lpEnvironment As Long, ByVal lpCurrentDirectory As Long, lpStartupInfo As STARTUPINFO, lpProcessInformation As PROCESS_INFORMATION) As Long

Private Declare Function GetLastError Lib "kernel32" () As Long

Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long



Private Const NORMAL_PRIORITY_CLASS = &H20&

Private Const INFINITE = -1&



Public command_line As String

Public run_minimized As Boolean





Public Sub ExecCmd(cmdline As String)

Dim proc As PROCESS_INFORMATION

Dim start As STARTUPINFO

Dim ret



run_minimized = False

start.cb = Len(start)

If run_minimized = True Then

start.dwFlags = 1 ' STARTF_USESHOWWINDOW

start.wShowWindow = 2 ' 1= normal, 2 = minimized, 3 = maximized

Else

start.dwFlags = 0 ' STARTF_USESHOWWINDOW (ignore the next field)

start.wShowWindow = 1 ' 1= normal, 2 = minimized, 3 = maximized

End If

run_minimized = False ' default back to false



'Start the shelled application:

ret = CreateProcessA(0&, cmdline, 0&, 0&, 0&, NORMAL_PRIORITY_CLASS, 0&, 0&, start, proc)



'Wait for the shelled application to finish:

ret = WaitForSingleObject(proc.hProcess, INFINITE)



ret = CloseHandle(proc.hProcess)



End Sub

--------------------------------------

Hope this helps.

dave@thehansens.com
dsb
2007-07-03 15:48:25 UTC
You can open an application present on your computer with vb6 code in following way:



Private Sub cmd1_Click()

'Shell <>

Shell "C:\Windows\Explorer.exe", vbNormalFocus

End Sub
rod
2007-07-03 15:50:09 UTC
Use the Shell command to open another application



Syntax



Shell(pathname[,windowstyle])



SHELL "C:\yada\yada\excel.exe"



Optional Windowstyle if you want to open it a specific way, like fullscreen or minimized.


This content was originally posted on Y! Answers, a Q&A website that shut down in 2021.
Loading...