Sunday, May 27, 2012

Menutup Seluruh Aplikasi Yang Sedang Berjalan

Di bawah ini merupakan fungsi untuk menutup seluruh aplikasi yang sedang berjalan. Mengapa seluruh aplikasi yang sedang berjalan tersebut harus ditutup? contoh kecilnya dalam pembuatan billing warnet. Misalnya A (user) log-out, kemudian datang B (user baru) log-in, B tidak akan melihat aplikasi-aplikasi yang masih terbuka (kemungkinan lupa ditutup oleh A), karena seluruh aplikasi yang sedang berjalan telah ditutup secara otomatis dengan fungsi di bawah ini.
Mungkin ada pertanyaan, Apakah ditutup dengan software billing warnetnya juga? ya, boleh jika kita mau, bahkan sekalian di shutdown pula.
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
Contoh Penggunaan fungsi untuk menutup seluruh aplikasi
Sub Main() 
Call CloseAllRuning
End Sub
READ MORE - Menutup Seluruh Aplikasi Yang Sedang Berjalan

Fungsi Untuk Menghancurkan File

Di bawah ini merupakan fungsi untuk menghancurkan file. Maksud dari fungsi ini, agar file yang sudah dihapus/dihancurkan, tidak dapat direcover dengan software-software recovery.
Core function dari fungsi penghancur file ini hanyalah 3 line code, yaitu:
Open Filename For Output As #1 
Print #1, "Sorry, destroyed....."
Close #1
Adapun fungsi lengkapnya serta cara penggunaannya:
Option Explicit 

Public Function
DestroyFile(Filename As String)
Open Filename For Output As #1
Print #1, "Sorry, destroyed....."
Close #1
End Function
Cara penggunaan Fungsi Untuk Menghancurkan File
Private Sub Command1_Click() 
Call DestroyFile("C:\hancur.jpg")
End Sub
Di atas merupakan cara penggunaan yang sederhana, dalam kenyataannya Anda dapat memodifikasi penggunaan, sehingga bisa digunakan untuk bulk files destroyer.
READ MORE - Fungsi Untuk Menghancurkan File

Meng-Capture Screen .bmp atau .jpg Menggunakan ezCapture.dll

Di bawah ini merupakan fungsi untuk meng-capture (mengambil) gambar screen dalam format .bmp atau format .jpg dengan menggunakan ActiveX ezCapture.dll. Untuk keperluan ini tentu saja Anda harus memiliki dll ezCapture.dll kemudian mereferensikan project Anda terhadapnya. Mengenai ezCapture.dll bisa Anda download di sini.
Fungsi untuk meng-Capture screen dalam format .bmp
Option Explicit 

Sub
CaptureScreenBMP()
Dim ezCapture As New CaptureScreen
On Error Resume Next
With
ezCapture
.CaptureFullScreen "C:\screen.bmp"
End With
End Sub
Fungsi untuk meng-Capture screen dalam format .jpg
Sub CaptureScreenJPG()   
Dim ezCapture As New CaptureScreen
With ezCapture
.CaptureFullScreen "C:\screen.jpg"
End With
End Sub

Contoh penggunaan fungsi capture screen .bmp
Private Sub Command1_Click() 
CaptureScreenBMP
End Sub

Contoh penggunaan fungsi capture screen .jpg.
Untuk keperluan ini Anda membutuhkan satu file lagi yakni "ijl11.dll"
Private Sub Command2_Click() 
CaptureScreenJPG
End Sub

READ MORE - Meng-Capture Screen .bmp atau .jpg Menggunakan ezCapture.dll

Fungsi Untuk Menjalankan File .wav Menggunakan Visual Basic 6.0

Di bawah ini merupakan fungsi untuk menjalankan file .wav dengan menggunakan Visual Basic 6.0 disertai dengan beberapa argumen yang dibutuhkan.
Option Explicit 

Public Declare Function
sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long

Public Enum
SoundOption
SND_SYNC = &H0
SND_ASYNC = &H1
SND_NODEFAULT = &H2
SND_LOOP = &H8
SND_NOSTOP = &H10
End Enum

Public Sub
PlaySound(Filename As String, Optional OpsiSound As SoundOption = SND_ASYNC Or SND_NODEFAULT)
Dim sThewavsound As String, ret As Long
sThewavsound = Filename
ret = sndPlaySound(sThewavsound, OpsiSound)
End Sub
Contoh Penggunaan fungsi menjalankan file .wav menggunakan visual basic 6.0
Private Sub Command1_Click()
PlaySound Text1.Text, SND_ASYNC
End Sub
READ MORE - Fungsi Untuk Menjalankan File .wav Menggunakan Visual Basic 6.0