Bagaimana Menjimatkan Masa dengan Mengotomkan Tugas Yang Membosankan dengan AutoHotkey
Pernahkah anda memerlukan untuk melakukan tugas yang sama dengan berulang kali di PC anda? Daripada membuang-buang jam klik butang dan menekan kunci, ini adalah masa yang tepat untuk menggunakan kemahiran AutoHotkey anda untuk membuat PC anda melakukan kerja untuk anda.
Catatan: Contoh khusus ini adalah yang sebenar yang saya gunakan pada hari ini untuk menjimatkan sedikit masa, tetapi ini adalah teknik yang saya gunakan berkali-kali selama bertahun-tahun untuk benar-benar menyelamatkan masa berharga saya.
Senario ini
Saya cuba untuk melewati dan membersihkan banyak mesej siaran yang tidak betul dalam akaun newsletter e-mel kami, apabila saya menyedari bahawa antara muka mereka memerlukan saya untuk mengklik butang Delete secara manual dan kemudian mengesahkannya pada setiap mesej tunggal-kita akan bercakap tentang 300 mesej yang tidak betul yang perlu dihapuskan. Untuk membuat perkara lebih teruk, antara muka sangat lambat, yang bermaksud saya akan menghabiskan 30-40 minit yang baik hanya mengklik dan membuat terowong karpal saya lebih buruk.
Daripada melakukan itu, saya membuat skrip AutoHotkey baru dan dengan cepat menulis skrip untuk melakukan kerja untuk saya.
Langkah pertama adalah untuk mengenal pasti dengan tepat klik dan kunci yang diperlukan untuk mengotomatisasi-jelas langkah pertama adalah dengan mengklik pada butang X, yang membawa dialog pengesahan Ajax ini:
Untungnya butang Hapus akan diserlahkan secara automatik, jadi anda hanya boleh menekan kekunci Angkasa untuk mengesahkan. Sebaik sahaja rekod itu telah dipadamkan, segalanya berjalan seolah-olah baris tidak pernah ada. Mengetahui ini, kami akan meneruskan dan mencipta skrip yang mengotomatikkan butang X, menunggu 3 saat untuk dialog pengesahan, menekan bar Space, dan kemudian menunggu lagi 3 saat untuk baris hilang.
Membuat Skrip
Perkara pertama yang kami mahu lakukan ialah membuat gelung yang akan mengulangi tindakan yang sama beberapa kali-dalam kes ini, kami menganggarkan bahawa kami perlu mengulangi 300 kali ini, jadi kami akan menggunakan Loop sintaks seperti ini:
Loop 300
Sekarang kita perlu mengautomasikan tindakan klik, yang mudah di AutoHotkey-anda hanya menaip klik. Anda boleh menggunakan sintaks klik yang lebih maju jika anda mahu, memilih tepat di mana anda mahu mengklik pada skrin, atau memilih klik butang. Untuk tujuan kami, kami hanya akan menggunakan lalai, yang meninggalkan kami dengan ini:
Loop 300
klik
Sekarang skrip kami akan mengklik 300 kali berturut-turut, namun sayangnya kami mendapat dialog pengesahan untuk menangani, jadi sekarang kami akan menggunakan fungsi Hantar untuk menghantar stok bar Bar ruang ke tetingkap aktif.
Loop 300
klik
Hantar, Space
Jika anda melihat dokumentasi, anda akan melihat semua sintaks untuk kekunci khas-ketukan kekunci biasa boleh dimasukkan secara normal-contohnya, jika anda ingin menaip ujian dan kemudian mengakhirinya dengan Ruang, anda akan menggunakan ini:
Hantar, uji Ruang Angkasa
Jadi sekarang kita mempunyai skrip yang mengklik butang dan kemudian memukul bar Space, yang akan baik-baik saja kecuali antara muka yang lambat, jadi kita perlu memasukkan jeda kecil antara setiap pelaksanaan fungsi klik dan hantar. Untuk mencapai ini, kami akan menggunakan fungsi Tidur, yang hanya mengambil satu hujah - kelewatan dalam milisaat.
Loop 300
tidur 3000
klik
tidur 3000
Hantar, Space
Kini kami mempunyai skrip yang berjaya memadam item, menunggu 3 saat sebelum ia bermula supaya anda dapat menggerakkan kursor tetikus ke X pertama, mengklik butang, menunggu 3 saat, memukul bar Space, dan kemudian menunggu 3 beberapa saat sebelum ia melangkah set seterusnya. Anda boleh menggunakan skrip mudah ini sekarang jika anda mahu-tetapi bagaimana jika anda mahu menghentikan skrip itu?
Apa yang akan kami lakukan ialah menggunakan fungsi GetKeyState untuk memeriksa sama ada anda telah memukul ujian utama untuk ujian, kami akan menggunakan kekunci F8 dan menambah yang berikut ke tengah gelung. Ini akan mengesan sama ada kunci F8 telah ditekan, dan kemudian gunakan rehat untuk keluar dari gelung.
GetKeyState, nyatakan, F8
jika keadaan = D
pecah
Skrip Akhir
Inilah skrip terakhir yang disusun bersama-sama, yang mungkin tidak akan membantu anda terlalu banyak kerana ia khusus untuk senario saya-tetapi anda boleh menggunakannya untuk membuat skrip anda sendiri dengan hanya memodifikasi klik dan menghantar keystroke.
Loop 300
GetKeyState, nyatakan, F8
jika keadaan = D
pecah
tidur 3000
klik
tidur 3000
Hantar, Space
Kembali
Untuk menggambarkan bagaimana ini berfungsi dalam amalan, inilah video cepat yang menunjukkannya dalam tindakan:
Dalam senario ini, saya mengambil masa kira-kira 3 minit untuk membuang masa yang disimpan skrip: 27 minit. Masa yang cukup untuk saya merakam video dan menulis artikel ini!