Bukankah sangat mengganggu bagaimana, setidaknya di Windows, jendela apa pun bisa muncul di mana saja di layar? Apakah keacakan harian itu membuat Anda gelisah, dan Anda lebih suka memiliki kontrol lebih besar atas penempatan di layar jendela Anda? Nah, sekarang Anda bisa, berkat AutoHotKey.
Dalam tutorial ini, kita akan melihat bagaimana Anda dapat memecahkan masalah ini dengan skrip AutoHotKey. Kami akan membangunnya sehingga bergerak setiap jendela ke tengah layar Anda dengan menekan tombol. Kedengarannya manis? Mari kita lihat bagaimana hal itu dilakukan!
Cara Mengatur Hotkey Pemusatan Jendela Dengan AutoHotKey
Setengah pertempuran saat membuat skrip muncul dengan cara kerjanya bahkan sebelum mengetik satu karakter pun. Jadi, mari kita buat rencana tindakan dalam bahasa Inggris sederhana yang kemudian akan kita "mutasi" menjadi sebuah skrip.
Windows "Masalah" Memiliki
Windows (seperti dalam "benda persegi panjang di layar kami", bukan OS) cenderung muncul di mana saja di layar. Ini mengganggu, dan juga bisa mengganggu jika terjadi berulang kali. Terutama ketika berhadapan dengan banyak pemohon yang muncul di tempat yang berbeda, mengharapkan masukan dari pengguna.
Solusi untuk Masalah
Selain mengirim penekanan tombol dan klik mouse ke jendela mana pun, AutoHotKey juga dapat memanipulasinya. Kami melihat di masa lalu bagaimana Anda bisa gunakan AutoHotKey untuk menyematkan windows "selalu di atas" menggunakan pintasan keyboard. Namun kali ini, kita akan memanfaatkan kemampuan manipulasi jendela AutoHotKey untuk:
- "Baca" ID jendela aktif.
- Juga "baca" dimensinya (lebar & tinggi).
- "Baca" dimensi monitor.
- Gabungkan dimensi monitor dan jendela untuk menghitung koordinat optimal untuk menampilkan jendela tersebut di tengah layar.
- Pindahkan jendela ke koordinat tersebut.
Terakhir, kita akan memetakan di atas ke jalan pintas. Dengan cara ini, Anda dapat menyebutnya "sesuai permintaan" alih-alih menerapkannya pada semua windows - yang dapat mengganggu aplikasi dan game layar penuh.
Perhatikan bahwa dalam tutorial ini, kita akan langsung masuk ke AutoHotKey. Jika Anda tidak terbiasa dengannya dan ingin mempelajari lebih lanjut sebelumnya, periksa kami panduan AutoHotKey cepat untuk pemula.
Pertama, Menyiapkan HotKey
Kami menyebutkan bagaimana kami akan memetakan fungsi yang akan kami buat ke pintasan. Namun, mungkin lebih baik jika kita mulai dengan bagian itu untuk menghilangkannya.
Mulailah dengan mengunduh penginstal dari Situs resmi AutoHotKey. Pilih versi "saat ini" daripada versi beta v2 atau versi 1.0 yang sudah tidak digunakan lagi. Kemudian, instal di PC Anda.
Luncurkan File Explorer (cara tercepat adalah dengan kombinasi tombol Windows Key + E) dan pindah ke jalur di mana Anda ingin membuat skrip Anda. Dengan AutoHotKey terinstal, Anda akan memiliki beberapa opsi baru yang muncul di menu klik kanan. Jadi, klik kanan pada ruang kosong jendela File Explorer dan pilih Baru > Skrip AutoHotKey.
Beri nama file skrip Anda, lalu klik kanan padanya dan edit dia. Jika Anda tidak menggunakan aplikasi pengeditan teks yang ramah kode, seperti Visual Studio Code atau Notepad++, gunakan Windows Notepad. Hindari editor seperti Wordpad, yang dapat menambahkan sintaks yang tidak berguna (untuk tujuan tersebut) ke "kode" Anda.
Saat berada di editor pilihan Anda, Anda akan melihat skrip AutoHotKey Anda sudah memiliki beberapa baris yang sudah terisi sebelumnya di bagian atas. Mereka ada untuk alasan stabilitas dan kompatibilitas. Mereka dapat diubah, tetapi biarkan apa adanya untuk tutorial ini.
"Pindahkan" dua atau tiga baris di bawahnya dan masukkan pintasan yang akan meluncurkan fungsi Anda. Anda dapat membuat kombinasi tombol dengan menggunakan "+" untuk Shift, "^" untuk CTRL, "!" untuk Alt, dan "#" untuk Tombol Windows, serta tombol "normal" apa pun dari keyboard (huruf dan angka).
Misalnya, agar kombinasi CTRL + Y meluncurkan skrip Anda, gunakan:
^y::
Tanda ":" ganda seperti mengatakan, "hei, AutoHotKey, tolong petakan string atau kombinasi tombol di sebelah kiri ke semua yang ada di sebelah kanan".
"Pindahkan" dua atau tiga baris di bawahnya dengan menekan Enter, dan ketik "kembali", yang akan menandai akhir dari fungsi tertentu. Hasil lengkapnya akan terlihat seperti berikut:
^y::
; Ini adalah komentar.
kembali
"; Ini adalah komentar." baris persis seperti itu, komentar dalam "kode" skrip yang tidak akan dijalankan oleh AutoHotKey. Itu ada untuk tujuan dokumentasi untuk menandai tempat di mana kita akan memasukkan "kode" skrip dalam langkah-langkah berikut.
Jika Anda telah mengikuti panduan kami di membuat hotkey khusus aplikasi dengan AutoHotKey di masa lalu, dalam hal ini... jangan. Anda ingin hotkey pemusatan jendela Anda menjadi "global" ke tengah setiap jendela dari setiap aplikasi. Jika Anda "mengikatnya" ke aplikasi tertentu, itu hanya akan bekerja di jendela aplikasi ini.
Dapatkan Detail Jendela Aktif
Kami ingin pintasan kami bertindak di jendela aktif, dan kami juga membutuhkan dimensinya untuk perhitungan kami. Kami dapat menemukan detail tersebut dengan yang berikut:
WinGetTitle, ActiveWindowTitle, A
WinGetPos Lebar, Tinggi, %ActiveWindowTitle%
Ganti baris komentar yang telah kita tambahkan ke skrip di bagian sebelumnya dengan dua baris di atas. Hasil?
- Baris pertama mengambil judul jendela aktif.
- Baris kedua membaca lebar dan tinggi dan memetakannya ke kata/variabel "Lebar" dan "Tinggi", yang akan kita gunakan selanjutnya untuk perhitungan kita.
Kami mendapatkan detail jendela aktif, tetapi kami juga membutuhkan dimensi area yang terlihat di monitor untuk mencapai tujuan kami. Untungnya, menemukan mereka lebih mudah.
Bagaimana dengan Area Monitor Utama?
Kami tidak memerlukan perintah tambahan untuk menemukan lebar dan tinggi monitor utama kami. AutoHotKey hadir dengan dua variabel preset yang sudah berisi informasi itu untuk kita: "A_ScreenWidth" dan "A_ScreenHeight".
Jadi, ketika Anda melihatnya di bagian berikutnya, mereka sudah "berisi" lebar dan tinggi monitor utama. Tidak ada yang diperlukan untuk menetapkan nilai yang benar kepada mereka. Dengan demikian, kita dapat menggunakannya secara langsung dalam perhitungan kita.
Saatnya Menghitung Target Posisi
Kami dapat memasukkan perhitungan secara langsung di titik-titik skrip di mana kami membutuhkannya. Namun, lebih mudah dan lebih baik untuk keterbacaan jika kita memetakannya ke dua variabel dan kemudian gunakan variabel-variabel itu dalam skrip kami.
Jadi, mari kita pilih "TargetX" sebagai variabel yang akan menampung koordinat horizontal dan "TargetY" sebagai variabel satu dengan koordinat vertikal di mana kita harus memindahkan jendela agar muncul di tengah layar.
TargetX := (A_ScreenWidth/2)-(Lebar/2); Di sini kita menghitung horizontal jendela target...
TargetY := (A_ScreenHeight/2)-(Height/2); ...dan ini yang vertikal.
Mari kita uraikan baris-baris itu dalam bahasa Inggris yang sederhana:
- "TargetX" dan "TargetY" adalah dua variabel.
- ":=" menginformasikan AutoHotKey bahwa variabel harus sama dengan hasil perhitungan di sebelah kanan, dan hasil tersebut harus diperlakukan sebagai angka.
- "(A_ScreenWidth/2)" membagi lebar monitor penuh menjadi dua.
- "(Width/2)" melakukan hal yang sama untuk lebar jendela aktif.
Dengan di atas, kami mengurangi setengah lebar jendela aktif dari setengah lebar layar. Yang tersisa adalah ruang di sebelah kiri jendela - dari sisi kiri layar hingga ke tempat jendela akan muncul. Baris kedua melakukan hal yang sama tetapi untuk ketinggian.
Sekarang untuk Memposisikan Ulang Jendela
Dilengkapi dengan pengetahuan yang sangat kuat yang diperoleh dari perintah mistik yang kita lihat di atas, sekarang kita dapat membuat mantra magis kita yang akan menyelesaikan ritual teleportasi jendela. Atau, dalam bahasa Inggris biasa, gunakan perintah "WinMove" AutoHotKey untuk memindahkan jendela di sekitar layar.
WinMove mengharapkan kita untuk "memberi makan" dengan setidaknya tiga informasi untuk melakukan perbuatannya: judul jendela yang ditargetkan dan koordinat tempat untuk memindahkannya. Karena kita telah memetakan potongan informasi tersebut ke variabel, perintahnya sesederhana:
WinMove, %ActiveWindowTitle%,, %TargetX%, %TargetY%
Di atas:
- "WinMove" adalah perintah AutoHotKey yang memindahkan jendela.
- "%ActiveWindowTitle%" adalah variabel di mana judul jendela aktif dipetakan.
- "%TargetX%" dan "%TargetY%" adalah koordinat horizontal dan vertikal tempat untuk memindahkan jendela.
Anda juga dapat mengubah ukuran jendela dengan WinMove, melewati jendela dengan sengatan teks tertentu dalam judul atau kontennya, dll. Karena fitur tersebut berada di luar cakupan artikel ini, periksa Dokumentasi resmi AutoHotKey tentang perintah WinMove untuk lebih banyak tentang mereka.
Naskah Terakhir
Akhirnya, kami mencapai bagian paling menantang dari perjalanan kami. Bersiaplah untuk langkah selanjutnya mengharapkan Anda untuk menyimpan skrip dan, yah... Menjalankannya.
Ya, itu dia - skripnya sudah selesai, dan tidak ada yang bisa dilakukan selain mencobanya. Gunakan pintasan yang Anda tetapkan, dan setiap jendela aktif akan pindah ke tengah layar Anda.
File skrip terakhir, seperti yang dibuka di editor teks, akan terlihat seperti ini:
#TanpaEnv; Direkomendasikan untuk kinerja dan kompatibilitas dengan rilis AutoHotkey di masa mendatang.
; #Memperingatkan; Aktifkan peringatan untuk membantu mendeteksi kesalahan umum.
Masukan Mode Kirim; Direkomendasikan untukbaru skrip karena kecepatan dan keandalannya yang unggul.
SetWorkingDir %A_ScriptDir%; Memastikan direktori awal yang konsisten.
^y::
WinGetTitle, ActiveWindowTitle, A; Dapatkan jendela aktif's judul untuk "penargetan" itu/bertindak di atasnya.
WinGetPos Lebar, Tinggi, %ActiveWindowTitle%; Dapatkan yang aktif jendelaposisi, digunakan untuk perhitungan kami.
TargetX := (A_ScreenWidth/2)-(Lebar/2); Hitung target horizontal tempat kita akan memindahkan jendela.
TargetY := (A_ScreenHeight/2)-(Tinggi/2); Hitung penempatan vertikal dari itu jendela.WinMove, %ActiveWindowTitle%,, %TargetX%, %TargetY%; Memindahkan jendela ke koordinat yang dihitung.
kembali
Perhatikan bahwa Anda dapat menyalin skrip di atas, menempelkannya di Notepad atau editor teks serupa, dan menyimpannya dengan ekstensi AHK. Kemudian, "jalankan", dengan AutoHotKey terinstal, untuk memusatkan jendela mana pun setiap kali Anda menekan CTRL + Y. Jika Anda tidak menyukai pintasan itu, ubah baris "^y::" ke kombinasi tombol yang berbeda. Sebagai contoh, !+c::
akan memetakan fungsi ke kombinasi tombol Shift + Alt + C.
Lagu Bonus
Demi kenyamanan Anda, kami telah memutuskan untuk menyulap dan menyertakan skrip sekunder yang akan berguna bagi mereka yang memiliki pengaturan dua monitor.
Untuk menjaga agar artikel ini tetap efisien, kami menyertakan informasi tentang cara kerja skrip di dalamnya dalam bentuk komentar. Anda dapat menghapusnya dari iterasi Anda.
Singkat cerita perbedaannya dengan script di atas adalah kita juga menambahkan variabel PositionToggle dan beberapa "logika IF". Kami kemudian menggunakannya untuk "menjentikkan" jendela di antara monitor. Kami harus mencatat bahwa ini adalah solusi yang tidak elegan dan "hack-y" untuk masalah tersebut. Namun, kami lebih memilihnya daripada kode yang lebih ramping karena pendekatan ini lebih mudah dipahami dan disesuaikan untuk semua orang yang tidak terbiasa dengan AutoHotKey.
#TanpaEnv; Direkomendasikan untuk kinerja dan kompatibilitas dengan rilis AutoHotkey di masa mendatang.
; #Memperingatkan; Aktifkan peringatan untuk membantu mendeteksi kesalahan umum.
Masukan Mode Kirim; Direkomendasikan untukbaru skrip karena kecepatan dan keandalannya yang unggul.
SetWorkingDir %A_ScriptDir%; Memastikan direktori awal yang konsisten.
PosisiToggle = 1; Menggunakan sebuah nomorsebagai sebuah sakelar untuk menandai pada yang memantau jendela harus muncul.
^y::
WinGetTitle, ActiveWindowTitle, A
WinGetPos Lebar, Tinggi, %ActiveWindowTitle%Jika PositionToggle = 1; Memeriksa keadaan sakelar dan "melakukan apa yang ada di antara tanda kurung kurawal" jika itu mengaturke1untuk monitor utama kami.
{
TargetX := (A_ScreenWidth/2)-(Width/2)
TargetY := (A_ScreenHeight/2)-(Height/2)
PosisiToggle = 2; "Mengibaskan" toggle sehingga jika kita menggunakan kembali hotkey, jendela aktif kita akan pindah ke monitor kedua.
}
Lain Jika PositionToggle = 2; Sudahkah kita menggunakan hotkey sebelumnya, "menjentikkan" nomor sakelar ke monitor kedua? Maka skrip seharusnya melakukan apa's di antara tanda kurung kurawal berikut, bukan tanda kurung di atas.
{
SysGet, Mon2, Monitor, 2; Dapatkan monitor kedua'detailnya
Mon2Width := Mon2Kanan - Mon2Kiri; Hitung monitor kedua's lebar sebenarnya.
Mon2Height := Mon2Bottom - Mon2Top; Hitung monitor kedua's tinggi sebenarnya.TargetX := (Mon2Width/2)-(Width/2)+A_ScreenWidth; Hitung ke mana harus memindahkan jendela. Perhatikan bahwa kami juga menambahkan monitor utama's lebar sejak AutoHotKey dapat't memindahkan jendela pada monitor individual tetapi di seluruh gabungannya "permukaan".
TargetY := (Senin2Tinggi/2)-(Tinggi/2)+Senin2Top; Hitung target vertikal optimal untuk memindahkan jendela pada monitor kedua. Seperti di atas, monitor kedua'Detail vertikal terdeteksi dalam kaitannya dengan monitor utama. Maka dari itu, kita harus berkreasi untuk mendapatkan target yang optimal dengan mengenali cara kedua monitor's atas bukan't sama dengan 0 (seperti yang utama's).PosisiToggle = 1; Jentik sakelar ke belakang sehingga jika kami menggunakan kembali hotkey, the jendela akan pindah kembali ke monitor utama.
}WinMove, %ActiveWindowTitle%,, %TargetX%, %TargetY%; Tindakan yang sebenarnya, menggerakkan yang aktif jendela ke koordinat yang kami hitung.
kembali
Pusatkan Jendela Dengan Kunci, Cara Mudah
Dan sekarang Anda sudah selesai! Jika semuanya berfungsi dengan baik, Anda sekarang dapat menggunakan hotkey yang baru disiapkan untuk memusatkan jendela kapan saja.
Temukan Di Mana Anda Membuang Waktu Anda di Windows Dengan AutoHotKey
Baca Selanjutnya
Topik-topik yang berkaitan
- jendela
- Windows 10
- Windows 11
- Tombol pintas otomatis
- Kustomisasi Windows
Tentang Penulis
Kehidupan nyata OK dimulai sekitar pukul 10, ketika dia mendapatkan komputer pertamanya - Commodore 128. Sejak itu, dia telah mencairkan keycaps dengan mengetik 24/7, mencoba menyebarkan The Word Of Tech kepada siapa saja yang cukup tertarik untuk mendengarkan. Atau, lebih tepatnya, membaca.
Berlangganan newsletter kami
Bergabunglah dengan buletin kami untuk kiat teknologi, ulasan, ebook gratis, dan penawaran eksklusif!
Klik di sini untuk berlangganan