Berikut ini adalah cara yang teman - teman dapat gunakan untuk menjalankan start menu. Dengan melakukan hal ini, seolah - olah teman - teman melakukan klik pada tombol start windows sehingga menampilkan start menu. Untuk melakukan ini kita menggunakan function sendkeys untuk mengirimkan kombinasi tombol CTRL + ESC sehingga start menu dapat ditampilkan. Berikut ini source codenya :
objShell = CreateObject("WScript.Shell")
objShell.SendKeys("^{esc}")
Function SendKey digunakan untuk mengirimkan perintah yang berupa tombol yang ada di keyboard, sehingga kita bisa menggantikan penekanan tombol di keyboard dengan syntak. Bila teman - teman ingin melakukan percobaan atau mau bereksplorasi dengan fungsi Sendkeys ini silahkan ganti syntak yang berwarna merah dengan daftar parameter penekanan tombol di bawah ini :
- BACKSPACE = {BACKSPACE}, {BS}, or {BKSP}
- BREAK = {BREAK}
- CAPS LOCK = {CAPSLOCK}
- DEL or DELETE = {DELETE} or {DEL}
- DOWN ARROW = {DOWN}
- END = {END}
- ENTER = {ENTER} or ~
- ESC = {ESC}
- HELP = {HELP}
- HOME = {HOME}
- INS or INSERT = {INSERT} or {INS}
- LEFT ARROW = {LEFT}
- NUM LOCK = {NUMLOCK}
- PAGE DOWN = {PGDN}
- PAGE UP = {PGUP}
- PRINT SCREEN = {PRTSC}
- RIGHT ARROW = {RIGHT}
- SCROLL LOCK = {SCROLLLOCK}
- TAB = {TAB}
- UP ARROW = {UP}
- F1 = {F1}
- CTRL = ^
- ALT = %
- SHIFT = +
- Huruf, angka atau karakter lain bisa langsung ketikkan karakter yg dimaksud, misal ingin mengirim tombol CTRL+A maka tinggal berikan parameter ^A
Sebenarnya function SendKeys dapat digantikan dengan syntak bawaan Visual Foxpro yaitu KEYBOARD. Dimana format dari function KEYBOARD adalah sebagai berikut :
KEYBOARD cKeyboardValue
Contoh :
KEYBOARD "{CTRL+LEFTARROW}"
KEYBOARD "{CTRL+A}"
Daftar dari parameter untuk cKeyboardValue adalah sebagai berikut :
- LEFTARROW = LEFTARROW
- RIGHTARROW = RIGHTARROW
- UPARROW = UPARROW
- DOWNARROW = DNARROW
- HOME = HOME
- END = END
- PAGE UP = PGUP
- PAGE DOWN = PGDN
- DEL = DEL
- BACKSPACE = BACKSPACE
- SPACEBAR = SPACEBAR
- INS = INS
- TAB = TAB
- SHIFT+TAB = BACKTAB
- Left Brace = LBRACE
- Right Brace = RBRACE
- ENTER = ENTER
- F1 to F12 = F1, F2, F3 ...
- CTRL+F1 to CTRL+F12 = CTRL+F1, CTRL+F2 ...
- SHIFT+F1 to SHIFT+F12 = SHIFT+F1, SHIFT+F2 ...
- ALT+F1 to ALT+F12 = ALT+F1, ALT+F2, ALT+F3 ...
- ALT+0 to ALT+9 = ALT+0, ALT+1, ALT+2 ...
- ALT+A to ALT+Z = ALT+A, ALT+B, ALT+C ...
- CTRL+LEFT ARROW = CTRL+LEFTARROW
- CTRL+RIGHT ARROW = CTRL+RIGHTARROW
- CTRL+HOME = CTRL+HOME
- CTRL+END = CTRL+END
- CTRL+PAGE UP = CTRL+PGUP
- CTRL+PAGE DOWN = CTRL+PGDN
- CTRL+A TO CTRL+Z = CTRL+A, CTRL+B, CTRL+C ...
- CTRL+0 = CTRL+0
- RIGHT MOUSE BUTTON = RIGHTMOUSE
- LEFT MOUSE BUTTON = LEFTMOUSE
- MOUSE BUTTON = MOUSE
- ESC = ESC
Meskipun sebenarnya function Keyboard bawaan Visual Foxpro telah lengkap dan bisa menggantikan function SendKeys, akan tetapi untuk menjalankan start menu yang memerlukan kombinasi tombol CTRL+ESC hanya bisa dilakukan oleh function SendKeys sedangkan function Keyboard tidak diijinkan untuk melakukan perintah dengan kedua kombinasi tombol tersebut.
SELAMAT MENCOBA...!!
9 Response to "Source Code untuk Menjalankan Start Menu dengan Memanfaatkan SendKeys"
Mau tanya ni buat master fox pro, saya ingin menggunakan fungsi keyboard untuk memanggil form atau menjalankan perintah dalam sebuah form. gimana yah cara penggunaan fungsi keyboardnya atau contoh programnya
@jeffri
mudah aja mas...coba aja dengan skenario sederhanya di bawah ini...misal untuk menjalankan fungsi messagebox...dari sebuah form dengan menekan tombol F5
Pertama
Ubah nilai Property KeyPreview di Form dengan .T.
Kedua
Tambahkan syntak di bawah ini ke procedure Keypress milik form
IF nKeycode=-4
MESSAGEBOX("Coba")
ENDIF
Selanjutnya silahkan ganti fungsi messagebox dengan fungsi2 yg diinginkan seperti memanggil form lain atau fungsi2 yang lain.
Jika ingin lihat parameter nilai nKeyCode setiap tombol keyboard bisa search di help kata inkey
Semoga berhasil mas...
mantap ini nih yang gue cari, di kode asci ga aga gan..
mau tanya jg, bagaimana cara memanfaatkan sendkeys untuk aplikasi external yang dipanggil dari form vfp semisal (ym,telnet,dll)
trimakasih..
gimana yah klo ada 2 form, form1 & form2. trus di masing2 form jg ada text1. nah isi di text1 di form1 akan otomatis sama dengan isi tex1 di form2 ketika dipanggil... mohon pencerahannya ke emailku jayaazhari@gmail.com thanks
gmana mas klo kode nonaktifkan explorer.exe nya??
Saya biasa menggunakan prosedure KEYPRESS tapi memang sangat terbatas, banyak kombinasi keyboard yang gak dijalanin.
Saya mau tanya bagaimana perintah sendkey apabila di tekan CTRL+ALT+F11 akan menampilkan form LOGIN dan bagaimana caranya menetralkan kembali tombol CTRL+ALT+F11 tersebut.
Atas bantuannya saya ucapkan terimakasih
Sore Pak Andy..
IF nKeycode=-4
MESSAGEBOX("Coba")
ENDIF
Jika tombol Ctrl nkeycodenya berapa? Saya lihat di help inkey() tidak ada. Sebetulnya tujuannya mau menghindari paste dengan ctrl+v pada textbox. Mohon pencerahannya dengan inkey atau lainnya.
Makasih
Posting Komentar
Bila komentar tidak tampil, silahkan ke page Welcome dan beritahukan melalui email yang tertera disana, kemungkinan komentar anda dianggap sebagai spam, biar nanti admin yang akan merubahnya, Terima kasih.