News:

This week IPhone 15 Pro winner is karn
You can be too a winner! Become the top poster of the week and win valuable prizes.  More details are You are not allowed to view links. Register or Login 

Main Menu

HOWTO: Close Applications from Visual Basic

Started by ben2ong2, October 07, 2006, 04:58:57 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

ben2ong2

PRODUCT :Microsoft Visual Basic for Windows
PROD/VER:WINDOWS:4.0
OPER/SYS:NT WINDOWS
KEYWORDS:VB4ALL VB4WIN

======================================================================
------------------------------------------------------------------------
The information in this article applies to:

- Standard, Professional, and Enterprise Editions of Microsoft
   Visual Basic for Windows, 16-bit only, version 4.0
------------------------------------------------------------------------

SUMMARY
=======

Periodically it may be necessary for a programmer to close down another
application from Visual Basic code. For example, your application might
conflict with some other known utility, so you need to close the
conflicting utility so your application can work correctly. The step-by-
step example in this article shows how to do it using the Windows API.

MORE INFORMATION
================

Step-by-Step Example
--------------------

1. Start a new Visual Basic project. Form1 is created by default.

2. Add a command button (Command1) to Form1.

3. Add the following code to the General Declarations section of Form1:

   Option Explicit

   Private Declare Function FindWindow Lib "User" (ByVal lpClassName _
      As Any, ByVal lpWindowName As Any) As Integer
   Private Declare Function PostMessage Lib "User" (ByVal hWnd _
      As Integer, ByVal wMsg As Integer, ByVal wParam As Integer, _
      lParam As Any) As Integer

   Private Const WM_QUIT = &H12

   Private Sub Command1_Click()
     Dim sTitle As String
     Dim iHwnd As Integer
     Dim ihTask As Integer
     Dim iReturn As Integer
     sTitle = "Notepad - (Untitled)"
     iHwnd = FindWindow(0&, sTitle)
     iReturn = PostMessage(iHwnd, WM_QUIT, 0, 0&)
     MsgBox "Notepad has been Closed Down"
   End Sub

4. Start Notepad by double-clicking the Notepad Icon.

5. Activate Visual Basic, and press F5 to start the project. Click the
   command button and the instance of Notepad you started should
   automatically close down. The message box will confirm this.

NOTE: For Visual Basic for Windows, 32-bit only, version 4.0 and Visual
Basic for Windows version 5.0, you need to use the following code:

1. Start a new Visual Basic project. Form1 is created by default.

2. Add a command button (Command1) to Form1.

3. Add the following code to the General Declarations section of Form1:

   Option Explicit

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal
lpClassName As Any, ByVal lpWindowName As Any) As Long
Private Declare Function PostMessage Lib "user32" Alias "PostMessageA"
(ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam
As Long) As Long
Private Const WM_QUIT = &H12

Private Sub Command1_Click()
    Dim sTitle As String
     Dim iHwnd As Long
     Dim ihTask As Long
     Dim iReturn As Long
     sTitle = "Untitled - Notepad"
     iHwnd = FindWindow(0&, sTitle)
     iReturn = PostMessage(iHwnd, WM_QUIT, 0&, 0&)
     MsgBox "Notepad has been Closed Down"

End Sub

4. Start Notepad by double-clicking the Notepad Icon.

5. Activate Visual Basic, and press the F5 key to start the project.
   the command button and the instance of Notepad you started should
   automatically close down. The message box will confirm this.
======================================================================
Keywords          : VB4ALL VB4WIN
Version           : WINDOWS:4.0
Platform          : NT WINDOWS
Issue type        : kbhowto

=============================================================================

THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS
PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND.  MICROSOFT DISCLAIMS
ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO
EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR
ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL,
CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF
MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.  SOME STATES DO NOT ALLOW THE EXCLUSION
OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES
SO THE FOREGOING LIMITATION MAY NOT APPLY.

Copyright Microsoft Corporation 1997.
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login