Saya mencoba mengembangkan file batch yang secara otomatis dapat menekan tombol panah kiri dan panah kanan sebanyak n kali dengan beberapa jeda di antaranya. Adakah yang bisa membantu saya dalam hal ini?
P.S: Saya mencoba menginstal perangkat lunak keyboard otomatis tetapi saya tidak dapat menginstalnya karena saya sedang bekerja. Saya membutuhkan program ini untuk bekerja di PC kantor saya.
Wow! Berarti Anda harus mempelajari bahasa pemrograman yang berbeda hanya untuk mengirim dua tombol ke keyboard? Ada cara yang lebih sederhana bagi Anda untuk mencapai hal yang sama. :-)
File Batch di bawah ini adalah contoh yang memulai program lain (cmd.exe dalam kasus ini), mengirim perintah ke program tersebut dan kemudian mengirim tombol Panah Atas, yang menyebabkan pemulihan perintah yang terakhir dieksekusi. File Batch cukup sederhana untuk dimengerti tanpa masalah, jadi Anda dapat memodifikasinya agar sesuai dengan kebutuhan Anda.
@if (@CodeSection == @Batch) @then
@echo off
rem Use %SendKeys% to send keys to the keyboard buffer
set SendKeys=CScript //nologo //E:JScript "%~F0"
rem Start the other program in the same Window
start "" /B cmd
%SendKeys% "echo off{ENTER}"
set /P "=Wait and send a command: " < NUL
ping -n 5 -w 1 127.0.0.1 > NUL
%SendKeys% "echo Hello, world!{ENTER}"
set /P "=Wait and send an Up Arrow key: [" < NUL
ping -n 5 -w 1 127.0.0.1 > NUL
%SendKeys% "{UP}"
set /P "=] Wait and send an Enter key:" < NUL
ping -n 5 -w 1 127.0.0.1 > NUL
%SendKeys% "{ENTER}"
%SendKeys% "exit{ENTER}"
goto :EOF
@end
// JScript section
var WshShell = WScript.CreateObject("WScript.Shell");
WshShell.SendKeys(WScript.Arguments(0));
Untuk daftar nama kunci untuk SendKeys, lihat: http://msdn.microsoft.com/en-us/library/8c6yea83(v=vs.84).aspx
Sebagai contoh:
LEFT ARROW {LEFT}
RIGHT ARROW {RIGHT}
Untuk penjelasan lebih lanjut mengenai solusi ini, lihat: https://stackoverflow.com/questions/16823068/gnuwin32-openssl-s-client-conn-to-websphere-mq-server-not-closing-at-eof-hangs/16868982#16868982
Hanya untuk memperjelas, Anda ingin meluncurkan program dari file batch dan kemudian meminta file batch menekan tombol (dalam contoh Anda, tombol panah) dalam program yang diluncurkan itu?
Jika demikian, Anda tidak akan dapat melakukannya hanya dengan file ".bat &" karena file yang diluncurkan akan menghentikan file batch untuk melanjutkan sampai file tersebut dihentikan....
Rekomendasi pertama saya adalah menggunakan sesuatu seperti AutoHotkey atau AutoIt jika memungkinkan, hanya karena keduanya memiliki forum aktif di mana Anda akan menemukan banyak contoh orang yang meluncurkan aplikasi dan mengirim penekanan tombol, belum lagi alat untuk sekadar " merekam &" apa yang ingin Anda lakukan. Namun Anda mengatakan bahwa ini adalah komputer kerja dan Anda mungkin tidak dapat memuat program pihak ke-3... tetapi Anda bukannya tidak memiliki pilihan.
Anda dapat menggunakan Windows Scripting Host dari sesuatu seperti file .vbs untuk meluncurkan program dan mengirim kunci ke proses itu. Jika anda menjalankan versi Windows yang menyertakan PowerShell 2.0 (Windows XP dengan Service Pack 3, Windows Vista dengan Service Pack 1, Windows 7, dll.) anda dapat menggunakan Windows Scripting Host sebagai objek COM dari skrip PS anda atau menggunakan kelas Intereact VB.
Spesifikasi cara melakukannya berada di luar cakupan jawaban ini, tetapi Anda dapat menemukan banyak contoh menggunakan metode yang baru saja saya jelaskan dengan mencari di SO atau Google.
edit: Hanya untuk membantu Anda memulai, Anda dapat melihat di sini: