Menutup Seluruh Aplikasi Yang Sedang Berjalan dengan Kode VB6

Berikut ini saya akan bagikan kepada Anda sebuah trik bagaimana cara menutup seluruh aplikasi yang sedang berjalan di PC atau Laptop Anda dengan menggunakan visual basic 6.0.

Mengapa hal ini perlu dilakukan?.contoh pada kasus pembuatan Billing warnet dimana seorang pengunjung atau user setelah melakukan Log-Out pada billing, kemudian datang User baru dan melakukan Login, si user baru tidak melihat ada aplikasi yang masih terbuka karena kemungkinan lupa ditutup oleh user pertama untuk itu perlu sebuah billing menutup otomatis semua aplikasi yang lupa ditutup.Bisa saja billing tesebut menggunakan software untuk kasus ini atau anda bisa juga menggunakan kode vb dibawah ini.


Menutup Seluruh Aplikasi Yang Sedang Berjalan dengan Kode VB6

Bagaiamankah cara menerapkan kode ini secara sederhana ,sebagai contoh saya membuka form baru pada VB6 dan saya meletakan 1 Commandbuton dan 1 Module. Pada Module ketik kode dibawah ini :

Option Explicit

Public Declare Function SendMessageTimeout Lib "user32" Alias "SendMessageTimeoutA" (ByVal hwnd As Long, ByVal msg As Long, ByVal wParam As Long, _

ByVal lParam As Long, ByVal fuFlags As Long, ByVal uTimeout As Long, lpdwResult As Long) As Long

Public Declare Function IsWindowVisible& Lib "user32" (ByVal hwnd As Long)

Public Declare Function IsWindow Lib "user32" (ByVal hwnd As Long) As Long

Public Declare Function EnumWindows Lib "user32.dll" (ByVal lpEnumFunc As Long, ByVal lParam As Long) As Long

Public Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long

Public Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long

Public Declare Function TerminateProcess& Lib "kernel32" (ByVal hProcess As Long, ByVal uExitCode As Long)

Public Declare Function GetWindowThreadProcessId Lib "user32" (ByVal hwnd As Long, lpdwProcessId As Long) As Long

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


Public Const SMTO_BLOCK = &H1

Public Const SMTO_ABORTIFHUNG = &H2

Public Const SC_CLOSE = &HF060&

Public Const WM_SYSCOMMAND = &H112

Public Const WM_NULL = &H0

Public Const PROCESS_ALL_ACCESS = &H1F0FFF


Public HWND_Taskbar As Long

Public HWND_Desktop As Long

Public HWND_ExplorerW As Long


Public Function EnumWindowsProc(ByVal hwnd As Long, ByVal lParam As Long) As Long


    Dim lThreadID As Long

    Dim lPid As Long

    Dim lHp As Long

    

    If hwnd <> HWND_Taskbar And hwnd <> HWND_Desktop And hwnd <> HWND_ExplorerW Then

    lThreadID = GetWindowThreadProcessId(hwnd, lPid)

        If lThreadID <> App.ThreadID Then

            If IsWindowVisible(hwnd) Then

                SendMessageTimeout hwnd, WM_SYSCOMMAND, SC_CLOSE, 0, 0, 500, 0

                If IsWindow(hwnd) Then

                    lHp = OpenProcess(PROCESS_ALL_ACCESS, 0&, lPid)

                    TerminateProcess lHp&, 0&

                    CloseHandle lHp

                End If

            End If

        End If

    End If

    

    EnumWindowsProc = 1


End Function


Public Sub CloseAllRuning()

    HWND_Desktop = FindWindowEx(0&, 0&, "Progman", vbNullString)

    HWND_Taskbar = FindWindowEx(0&, 0&, "Shell_TrayWnd", vbNullString)

    EnumWindows AddressOf EnumWindowsProc, 0&

End Sub

Sub Main()

      Call CloseAllRuning

End Sub


kemudian kembali ke Form1 lalu letakan kode dibwah ini di Commandbutton1 :

Private Sub Command1_Click()

psn = MsgBox("Semua aplikasi yng terbuka di PC anda akan di tutup", vbYesNo, "Informasi")

If psn = vbYes Then

Call Main

End

Else

If psn = vbNo Then

End If

End If

End Sub

setelah selesai mengetik kode diatas, sekarang coba buka aplikasi apa saja yang ada di komputer atau Laptop Anda, misal word, excel,powerpoint dll kalo bisa lebih dari satu biar lebih meyakinkan syukur-syukur 100 aplikasi anda buka, gak apa-apa, nah kalau sudah coba jalankan program Anda, kemudian klik commandbutton dan klik yes, maka aplikasi yang Anda buka tadi telah ditutup.Coba dicek apakah masih ada?

Itulah trik singkat dari saya mengenai Menutup Seluruh Aplikasi Yang Sedang Berjalan dengan Kode VB6, semoga artikel ini bermanfaat buat kita semua.Amin.

Sealamat mrncoba semoga sukses

No comments: