http://support.microsoft.com/support/kb/articles/Q168/2/04.aspStart Visual Basic and select Standard EXE. If Visual Basic is already running, click New Project on the File menu and select Standard EXE. Form1 is created by default.
Create two Command Buttons called Command1 and Command2.
On the Project menu, click Add Module (ALT, P, M). Module1 is created by default.
In the Declarations section, declare the following two API functions:
Declare Function FindWindow _
Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As String, _
ByVal lpWindowName As String) _
As Long
Declare Function SendMessage _
Lib "user32" Alias "SendMessageA" _
(ByVal hwnd As Long, _
ByVal wMsg As Long, _
ByVal wParam As Long, _
lParam As Long) _
As Long
Within the Command1 Click event, add the following code:
Private Sub Command1_Click()
Shell "Calc.exe", vbNormalFocus
End Sub
Within the Command2 Click event, add the following code:
Private Sub Command2_Click()
Dim lpClassName As String
Dim lpCaption As String
Dim Handle As Long
Const NILL = 0&
Const WM_SYSCOMMAND = &H112
Const SC_CLOSE = &HF060&
lpClassName = "SciCalc"
lpCaption = "Calculator"
'* Determine the handle to the Calculator window.
Handle = FindWindow(lpClassName$, lpCaption$)
'* Post a message to Calc to end its existence.
Handle = SendMessage(Handle, WM_SYSCOMMAND, SC_CLOSE, NILL)
End Sub
On the Run menu, click Start or press the F5 key to start the program. Clicking the Command1 button starts a (new) instance of the Windows Calculator accessory. Clicking on the Command2 button kills an instance of the Calculator.