Saturday, November 21, 2015

Mengirim Keystroke dan Mouse Clicks

Keystroke merupakan aktifitas tombol pada keyboard yang dikirimkan ke window yang sedang aktif (active window) dengan menggunakan perintah "Send".
Pada contoh berikut ini, dengan menggunakan hotkey Ctrl+Alt+S kita akan mencoba menulis sebuah kata perpisahan. (tentunya dengan Notepad sebagai active window)
[code]^!s::
Send Selamat tinggal,{Enter}Joko Tole.
return[/code]

Pada contoh diatas semua key di kirim secara langsung kecuali pada bagian {Enter} yang menandakan bahwa yang akan di eksekusi bukannya menulis kata "Enter" melainkan tombol {Enter} itu sendiri. Perbedaannya disini jika kita ingin aktifitas keyboard adalah menekan tombol Enter maka harus berada di dalam simbol {} karena jika tanpa simbol maka akan tertulis di notepad : Enter .

Berbeda dengan simbol special yang saya jelaskan di sini, jenis key yang secara harfiah merupakan kata atau kombinasi huruf dan angka seperti F1-F12, Tab, End dan lain lain, harus berada di dalam simbol {}.

Mouse Click adalah aktivitas mouse yang dalam hal ini adalah klik. Kita bisa mengirim perintah klik pada koordinat tertentu atau hanya sebatas klik pada posisi cursor berada (tidak ditentukan koordinat).
[code]Send, {click 400, 500}[/code]

Pada contoh diatas, mouse akan melakukan klik pada koordinat x,y = 400,500 pada layar anda. koordinat tergantung dari resolusi layar anda, jika layar anda menggunakan resolusi 1024x768 maka posisi sudut kiri atas adalah x=0 , y=0, sudut kanan atas adalah x=1024 , y=0, sudut kiri bawah adalah x=0 , y=768 dan sudut kanan bawah adalah x=1024 , y=768.

Untuk mengetahui koordinat yang tepat pada posisi cursor, anda bisa menggunakan program Window Spy yang merupakan bagian dari instalasi AutoHotkey. Anda bisa menemukan Window Spy pada folder AutoHotkey di start menu.

Key dan Simbol Spesial Hotkey pada Keyboard

Disini saya berikan daftar untuk spesial key pada keyboard untuk digunakan dalam hotkey atau kombinasi hotkey.

Simbol Deskripsi
# Win (Windows logo key)
! ALT
^ CTRL
+ SHIFT
& Sebuah penggabung yang digunakan untuk mengkombinasikan 2 tombol menjadi 1 kustom hotkey

Daftar lengkap untuk hotkeys bisa dilihat disini.

Untuk penggunaan simbol-simbol diatas akan saya contohkan seperti ini:
[code]#d::[/code]
Script akan dieksekusi setelah menekan tombol WIN+d
 
[code]!d::[/code]
Script akan dieksekusi setelah menekan tombol ALT+d
 
[code]^d::[/code]
Script akan dieksekusi setelah menekan tombol CTRL+d
 
[code]+d::[/code]
Script akan dieksekusi setelah menekan tombol SHIFT+d
 
[code]Numpad0 & Numpad2::[/code]
Tekan dan tahan Numpad 0 lalu masih sambil menahan Numpad 0 anda tekan Numpad 2 maka script akan di eksekusi.

Kesimpulan:
  1. Penggunaan hotkeys adalah dengan menuliskan hotkeys yang ditentukan pada sebelah kiri tanda (::) dan dibawahnya (baris selanjutnya) adalah script itu sendiri.
  2. Dalam penggunaan tanda "&" sebagai penggabung (kombinasi), tidak bisa menggabungkan antara keyboard dan joystick.

Apa itu Hotkeys dan Hotstrings pada AutoHotkey

Pada artikel sebelumnya dijelaskan bahwa script AutoHotkey berisi kombinasi dari hotkeys dan hotstrings. Disini saya akan coba jelaskan apa itu hotkeys dan hotstrings dengan cara yang mudah dipahami.

Hotkeys adalah sebuah "key" (tombol) atau kombinasi "key" pada keyboard yang akan di tekan oleh seseorang untuk mengaktifkan sebuah script.
Hotstrings adalah kombinasi huruf atau beberapa "key" (tombol) pada keyboard dan biasanya merupakan sebuah singkatan kata yang jika di tekan akan otomatis menggantikan (auto replace) kombinasi huruf tersebut dengan kata yang sebenarnya (tidak disingkat).

Contoh dari Hotkeys:
[code]^j::
   Send, hallo
Return[/code]
Contoh dari Hotstrings:
[code]::omg::Oh my God[/code]

Perbedaan dari kedua contoh di atas adalah ketika anda menekan tombol hotkey CTRL+j akan mengeksekusi perintah dibawahnya sedangkan hotstring ketika anda mengetikkan "omg" akan mengubah ketikan anda menjadi "Oh my God".

Hotkey di tandai oleh sepasang tanda titik dua "::" dan disebelah kiri nya adalah hotkey itu sendiri. Jadi jika anda ingin mengaktifkan script dengan hanya menekan tombol "F12" maka penulisannya ada F12:: lalu diikuti oleh perintah dibawahnya dan diakhiri dengan "return" yang berarti "kembali" atau disini bisa juga "enter" atau "eksekusi". Setelah makro anda mencapai "return" maka otomatis akan kembali ke awal script lagi (mengulang script). Awal script adalah perintah pertama setelah hotkey di tekan.

Hotstrings di tandai dengan sepasang tanda titik dua "::" pada kedua sisi teks yang ingin anda tentukan sebagai teks pengganti (teks singkat) dan teks panjangnya berada di sebelah kanan tanda "::" yang kedua.

Dengan sedikit pemahaman pasti anda juga bisa tahu kalo hotstrings bisa di gunakan sebagai pemicu perintah script.
[code]::btw::
   MsgBox kamu mengetikkan "btw".
Return[/code]
dan hotkey bisa mengeksekusi perintah sepanjang apapun.
[code]^j::
   MsgBox Wow!
   MsgBox ini adalah
   Run, Notepad.exe
   winactivate, Untitled - Notepad
   WinWaitActive, Untitled - Notepad
   send, 7 baris{!}{enter}
   sendinput, didalam ctrl{+}j hotkey
Return
[/code]

Sangat mudah bukan? Untuk yang masih bingung dengan contoh terakhir saya jangan takut, saya akan bahas semua perintah perintah yang masih terlihat asing bagi anda.
Sampai jumpa di artikel selanjutnya.

Friday, November 20, 2015

Cara Membuat Script AutoHotkey

Script adalah teks berisi perintah yang akan di jalankan oleh program dalam hal ini adalah AutoHotkey (autohotkey.exe). Isi script bisa berupa hotkeys atau hotstrings bisa juga kombinasi dari keduanya. Script akan menjalankan perintah yang ditulis secara ber-urutan dari atas ke bawah pada saat diaktifkan.

Untuk membuat script AutoHotkey:
  1. Download dan install AutoHotkey.
  2. Klik kanan di desktop anda dan temukan menu "New" lalu pilih "AutoHotkey Script".
  3. Berikan sebuah nama untuk script anda dan extension nya harus ahk. Contoh: belajarscript.ahk
  4. Klik kanan pada file script baru anda dan pilih "Edit Sript".
  5. Akan ada program teks editor yang akan terbuka, biasanya "Notepad" tapi ini bisa anda setting sendiri dan saya sarankan untuk menggunakan SciTE yang dibuat khusus dengan syntax AutoHotkey.
  6. Anda tinggal menuliskan perintah disana, mari kita coba membuat satu script sederhana.
[code]
^j::
Run, Notepad.exe
Sleep, 500
Send, Belajar autohotkey pertama saya
ExitApp
[/code]

  • Tanda ^ adalah tombol CTRL dan j adalah huruf "j" dan diakhiri dengan :: maksudnya adalah key yang akan anda tekan untuk mengaktifkan script.
  • Run adalah perintah untuk menjalankan suatu program/script, program yang di tentukan setelah tanda koma (,) akan otomatis dijalankan.
  • Sleep adalah jeda dan 500 adalah lama dari jeda itu sendiri, satuan waktu standar di AutoHotkey adalah millisecond (milidetik) yang berarti 500 = 0,5 detik.
  • Send adalah perintah untuk mengirim keystrokes dan semua yang tertulis setelah tanda koma (,) akan tertulis (terkirim)
  • ExitApp adalah perintah untuk mengakhiri script, jika script telah mencapai perintah ini maka otomatis script akan keluar (Exit) dalam hal ini mungkin lebih cocok dikatakan auto exit / auto close. 
- Save script anda
- Jalankan (dobel klik) script yang baru saja anda buat di desktop.

Script sederhana ini akan menjalankan perintah otomatis setelah tombol "CTRL+j" di tekan yaitu :
  • Membuka Notepad.exe
  • Diam selama 0,5 detik.
  • Menuliskan "Belajar autohotkey pertama saya" pada Notepad.
Kesimpulan:
  1. Filetype (extension) dari script AutoHotkey adalah .ahk
  2. Semua tipe program teks editor bisa digunakan untuk membuat script AutoHotkey tapi disini saya sarankan untuk menggunakan SciTE for Autohotkey.

Pemahaman Simpel Makro AutoHotkey

Untuk pemula, memahami apa itu makro sebenarnya sangatlah mudah. Kita membuat suatu rutinitas kerja dari mouse dan keyboard dengan hanya satu klik atau tombol.

Contoh:
Kita ingin otomatis membuka notepad dan menuliskan "Halo saya robot.".
Dengan menggunakan Autohotkey maka kita hanya perlu membuat satu simpel script seperti ini:

[code]
Run, Notepad.exe, C:\My Documents,
Sleep, 500
Send, Hallo saya robot!.
ExitApp
[/code]

Sangat simpel bukan?
Saya akan mencoba memperkenalkan Autohotkey kepada anda semua dengan cara yang mudah dipahami di blog ini. Sampai jumpa di post selanjutnya.