Selamat Datang di Kang Bahor.blogspot.com

Belajar Dasar Visual Basic 6.0
17.44 | Author: Kang Bahor's
Matiin komputer dengan keyboard
- by : kangbahor.blogspot.com



Persiapan <--

Bagaimana cara matiin komputer? Tentu dengan mengklik start > shut down. Bisa juga dengan cara menekan Alt+F4. Naahh... sekarang kita buat program dengan vb untuk mematikan komputer yang semuanya dilakukan dari keyboard. Program ini menggunakan win api yang ditulis di modul. Kita mulai yach

Sekarang jalankan vb kamu dan gunakan standard.exe

untuk properties Form1, ubah properti BorderStyle menjadi none

Setelah selesai, tambahkan sebuah TextBox dan hasilnya seperti gambar dibawah

Tambahkan modul dengan cara mengklik menu Project > Add Module

Akan tampil kotak dialog, tekan saja enter.

Penulisan Kode Program 1 <--

Naahhh... persiapan sudah selesai, sekarang save dulu pekerjaan kamu :). Kalo sudah sekarang kita masuk ketahap kedua, penulisan program. Klik dua kali modul

dan akan tampil halaman kosong. tempat penulisan program. Tulis program dibawah ini (sebaiknya ditulis jangan di copy+paste, akan lebih baik hasilnya):
--------------dari sini, tapi garis ini jangan ikut lohh...--------------

1: 'Buat Hotkey (fungsi api buat hotkey:
pas kita nekan tombol kombinasi program ini jalan)
2: '-----------
3: Public Const WM_SETHOTKEY = &H32
4: Public Const WM_SHOWWINDOW = &H18
5:
6: ' contoh tombol, kalian bisa cari kombinasi
tombol yang lain
7: Public Const HK_SHIFTA = &H141 'Shift + A
8: Public Const HK_SHIFTB = &H142 'Shift + B
9: Public Const HK_CONTROLA = &H241 'Control + A
10: Public Const HK_ALTZ = &H45A 'Alt + Z ini yang
kita gunakan
11: Declare Function SendMessage Lib "user32" Alias
"SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long,
ByVal wParam As Long, lParam As Long) As Long
12: Declare Function DefWindowProc Lib "user32"
Alias "DefWindowProcA" (ByVal hwnd As Long,
ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam
As Long) As Long
13:
14: 'Matiin Komputer (yang ini fungsi api buat matiin
komputer)
15: '---------------
16: Public Const EWX_LOGOFF = 0 ' untuk Log off
17: Public Const EWX_SHUTDOWN = 1 ' untuk Shut down
18: Public Const EWX_REBOOT = 2 ' untuk reboot.
19: Public Const EWX_FORCE = 4 ' untuk menutup semua
aplikasi yang sedang berjalan.
20: Public Const EWX_POWEROFF = 8 ' Shutdown sistem dan
kalau memungkinkan matikan powernya (Tipe Casing ATX)
21:
22: Public Declare Function ExitWindowsEx
Lib "user32.dll" (ByVal uFlags As Long, ByVal
dwReserved As Long) As Long

------------------yup sampai disini------------------

Cape juga nulisnya yach... Tapi kalo kalian nulis sendiri (gak copy+paste) pasti ngerti maksud program ini, jadi gak usah dijelasin yah...


Penulisan Kode Program 2 <--

Sekarang tinggal nulis program buat Form1 aja. Caranya klik kanan Form1 dan pilih View Code

akan tampil halaman kosong. tempat penulisan program. Tulis program dibawah ini (ingat loohhh... sebaiknya ditulis jangan di copy+paste)
--------------dari sini, ingat garis ini jangan ikut lohh...-------------

1: Private Sub Form_Load()
2: 'biar formnya gak keliatan :P
3: Me.Height = 1
4: Me.Width = 1
5:
6: ' spesifikasikan hotkey (Alt + Z) yang akan
di-set, kalo mau tombol lain sesuaikan saja
7: erg& = SendMessage(Me.hwnd, WM_SETHOTKEY,
HK_ALTZ, 0)
8:
9: ' Cek jika berhasil, kalo gagal program akan
keluar
10: If erg& <> 1 Then 'error
11: MsgBox "Tombol Alt + Z sudah diisi oleh
program lain... :(, Ada dua kemungkinan:" _
& vbLf & "1. Program ini sudah dijalankan" _
& vbLf & "2. Ada Program lain yang menggunakan
tombol Alt + Z (non aktifkan/tutup program tersebut)",
vbOKOnly, "Error"
12: End
13: End If
14:
15: ' definisikan perintah jika tombol hotkey
tersebut ditekan
16: erg& = DefWindowProc(Me.hwnd, WM_SHOWWINDOW, 0, 0)
17: End Sub
18:
19: Private Sub Text1_KeyPress(KeyAscii As Integer)
20: Dim a As Integer
21: Dim tanya As Integer
22:
23: 'Disini kita nulis program buat matiin komputer
setelah
24: 'mencet Alt + Z
25:
26: 'Ini buat ganti user
27: 'Kode ascii 71=G dan 103=g
28: If (KeyAscii = 71) Or (KeyAscii = 103) Then
29: tanya = MsgBox("ganti user dikomputer ini?",
vbYesNo,"konfirmasi")
30: If tanya = 6 Then
31: a = ExitWindowsEx(0, 0)
32: End If
33: End If
34:
35: 'Ini buat matiin komputer
36: 'Kode ascii 77=M dan 109=m
37: If (KeyAscii = 77) Or (KeyAscii = 109) Then
38: tanya = MsgBox("matiin komputer?", vbYesNo,
"konfirmasi")
39: If tanya = 6 Then
40: a = ExitWindowsEx(1, 0)
41: End If
42: End If
43:
44: 'Ini buat restart
45: 'Kode ascii 82=G dan 114=g
46: If (KeyAscii = 82) Or (KeyAscii = 114) Then
47: tanya = MsgBox("restart komputer?", vbYesNo,
"konfirmasi")
48: If tanya = 6 Then
49: a = ExitWindowsEx(2, 0)
50: End If
51: End If
52:
53: 'Ini buat keluar dari program ini
54: 'Kode ascii 81=Q dan 113=q
55: If (KeyAscii = 81) Or (KeyAscii = 113) Then
56: tanya = MsgBox("matiin program ini?", vbYesNo,
"konfirmasi")
57: If tanya = 6 Then
58: a = ExitWindowsEx(2, 0)
59: End
60: End If
61: End If
62:
63: 'yang ini buat ngosongin textbox, jadi apapun
yang ditulis gak bakal ketulis
64: KeyAscii = 0
65:
66: End Sub

------------------oooppp.... sampai disini aja------------------

kelar juga buatnya... sekarang tinggal ngejalaninnya nich (pencet F5)... tapi jangan lupa save dulu :). Gimana hasilnya? lumayan kan? program ini akan mematikan komputer dengan menutup programnya dulu bila memungkinkan.


Penutup <--

Naaahhh... kan udah dikasih tau sourcenya, sekarang gua punya tugas buat kalian:

1. Buat help-nya seperti contoh klik di sini
2. Program yang kita buat masih menampilkan pesan konfirmasi pada saat mau matiin, kalo mau hilangkan saja pesan itu
3. Program ini bisa langsung otomatis dijalankan pada saat komputer idup, tugas kamu adalah buat program itu (sebenarnya sich mau gua buat, tapi males :D, caranya cukup tinggal panggil fungsi api buat ngedit registry atau taruh saja di startup di msconfig)
4. Program ini hanya berjalan baik di win 98 dan Me, tahu kah kalian agar bisa jalan di win lainnya? kalo tau kasih tau yach :D
5. Kayaknya lebih bagus apabila program ini menjadi tray icon. jadi user cukup mengklik tray icon atau dengan hotkey. Gunakan api juga.
|
This entry was posted on 17.44 and is filed under . You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.