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:
Post a Comment