Friday, June 8, 2012

VB Code - Membuat Sound Beep ala Anti Virus AVIRA

Mengenai cara membuat suara beep seperti yang terdapat pada antivirus Avira menggunakan VB6 Code - Pada saat mendeteksi sebuah virus/malware, biasanya anti virus Avira akan mengeluarkan suara yang khas melalui internal speaker. Nah, di bawah ini merupakan cara membuat sound beep ala Avira dengan memanggil fungsi API Beep yang terdapat pada liblary Kernel32. Cobalah untuk mengkalibrasi frekuensi serta durasinya!
Option Explicit 

Private Declare Function Beep
Lib "kernel32" (ByVal dwFreq As Long, ByVal dwDuration As Long) As Long

Private Sub
AvirasBeep()
Beep 1500, 100 'frekuensi 1500khz, durasi 100 milidetik
Beep 2000, 80 'frekuensi 2000khz, durasi 80 milidetik
Beep 3200, 70 'frekuensi 3200khz, durasi 70 milidetik
End Sub

Private Sub
Command1_Click()
AvirasBeep
End Sub
READ MORE - VB Code - Membuat Sound Beep ala Anti Virus AVIRA

VB6 Code - Menghilangkan Tombol Max-Min Pada Saat Runtime

Mengenai cara menghilangkan tombol max dan tombol min yang terdapat pada sebelah kanan atas sebuah form - Seperti yang kita tahu bahwa pada form sebelah kanan bagian atas terdapat 3 tombol, yaitu: tombol max, tombol min, dan tombol close. Nah pada kesempatan kali ini kita akan menyembunyikan seluruh tombol menggunakan fungsi API, adapun kodenya adalah sebagai berikut:
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long 
Private Declare Function
GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long

Const
WS_MINIMIZEBOX = &H20000
Const WS_MAXIMIZEBOX = &H10000
Const GWL_STYLE = (-16)
Const WS_SYSMENU = &H80000

Private Sub
Form_Load()
Dim l As Long
l =
GetWindowLong(Me.hwnd, GWL_STYLE)
l = (l And Not WS_SYSMENU)
l = SetWindowLong(Me.hwnd, GWL_STYLE, l)
End Sub
READ MORE - VB6 Code - Menghilangkan Tombol Max-Min Pada Saat Runtime

VB6 Code - Form SDI, Cara Menonaktifkan Tombol Close

Sebelumnya telah diposting mengenai cara mendisable tombol close pada MDI form, nah sekarang mengenai cara menonaktifkan tombol close yang terdapat pada control box SDI form menggunakan VB6 code. Di bawah ini merupakan kode untuk menghilangkan tombol close atau button X yang terdapat pada SDI form.
Option Explicit 

Private Declare Function GetSystemMenu Lib "user32" (ByVal hWnd As Long, ByVal bRevert As Long) As Long
Private Declare Function
RemoveMenu Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long

Private Const MF_BYPOSITION = &H400&

Public Sub RemoveButtonX(frm As Form)
Dim hSysMenu As Long
hSysMenu = GetSystemMenu(frm.hWnd, 0)
Call RemoveMenu(hSysMenu, 6, MF_BYPOSITION)
Call RemoveMenu(hSysMenu, 5, MF_BYPOSITION)
End Sub
Contoh penggunaan kode di atas.
Option Explicit 

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
Cancel = -1 'untuk mendisable Alt + F4 </i>
End Sub

Private Sub Form_Load()
RemoveButtonX Me
End Sub
READ MORE - VB6 Code - Form SDI, Cara Menonaktifkan Tombol Close

VB6 Code - Disable Button X atau Tombol Close Pada MDI

Kode untuk mendisable button x atau tombol close pada MDI form - Di bawah ini merupakan cara menghilangkan button 'x' atau tombol close pada MDI Form.
'simpan kode di bawah pada module 
Option Explicit

Private Declare Function DeleteMenu Lib "user32" ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long
Private Declare Function
GetSystemMenu Lib "user32" ByVal hwnd As Long, ByVal bRevert As Long) As Long

Private Const MF_BYPOSITION = &H400&

Dim hMenu As Long

Public Sub RemoveMenus(frm As Form, Optional brestore As Boolean, Optional bmove As Boolean, Optional bsize As Boolean, Optional bminimize As Boolean, Optional bmaximize As Boolean, Optional bseperator As Boolean, Optional bclose As Boolean)
hMenu = GetSystemMenu(frm.hwnd, False)
If
bclose Then DeleteMenu hMenu, 6, MF_BYPOSITION
If
bseperator Then DeleteMenu hMenu, 5, MF_BYPOSITION
If
bmaximize Then DeleteMenu hMenu, 4, MF_BYPOSITION
If
bminimize Then DeleteMenu hMenu, 3, MF_BYPOSITION
If
bsize Then DeleteMenu hMenu, 2, MF_BYPOSITION
If
bmove Then DeleteMenu hMenu, 1, MF_BYPOSITION
If
brestore Then DeleteMenu hMenu, 0, MF_BYPOSITION
End Sub
Contoh penggunaan kode di atas:
'simpan kode di bawah pada MDI Form.  
Option Explicit

Private Sub MDIForm_Load()
'nilai true untuk remove, sesuaikan kodenya!
RemoveMenus Me, , , , , , True, True
End Sub
READ MORE - VB6 Code - Disable Button X atau Tombol Close Pada MDI