Gửi key tới dòng cmd

lập trình


chào mọi người
Tôi chạy một tệp bó chạy cùng một ứng dụng nhiều lần với các tham số thay đổi
giữa mỗi lần chạy nó yêu cầu nhấn bất kỳ phím nào
Làm cách nào để bắt chước phím cách được nhấn trong dòng cmd?

tệp bó trông như thế này:

c:
cd “C:\Ứng dụng của tôi”
“C:\MyApp\MyApp.exe” “1”
“C:\MyApp\MyApp.exe” “5”
“C:\MyApp\MyApp.exe” “0”

giữa “C:\MyApp\MyApp.exe” “1” và “C:\MyApp\MyApp.exe” “5”
dòng cmd chờ bất kỳ lần nhấn phím nào từ người dùng.
vì vậy tôi muốn viết phím này nhấn vào dòng cmd
đại loại như:

c:
cd “C:\Ứng dụng của tôi”
“C:\MyApp\MyApp.exe” “1”
“PressKey” {“SpaceBar”}
“C:\MyApp\MyApp.exe” “5”
“PressKey” {“SpaceBar”}
“C:\MyApp\MyApp.exe” “0”

Cảm ơn!

dj4400

Những gì tôi đã thử:

Tìm kiếm nó trên Google
Lệnh SendKeys, có lẽ tôi đã sử dụng sai?

Giải pháp 1

Bạn không thể gửi khóa tới ứng dụng sau khi khởi động ứng dụng từ dòng lệnh: việc thực thi các lệnh (hoặc tệp bó) của bạn không xảy ra cho đến khi ứng dụng bạn chạy bị đóng.

Tuy nhiên, bạn có thể sử dụng đường ống để gửi khóa tới ứng dụng: về Đường ống – PowerShell | Microsoft Tìm hiểu[^]

Cách tốt hơn nếu đó là ứng dụng của bạn như ví dụ của bạn hiển thị là thêm một công tắc dòng lệnh vào ứng dụng của bạn để nó hoạt động “không cần giám sát” – một biến toàn cục được đặt khi khởi động ứng dụng và được kiểm tra mỗi khi ứng dụng của bạn muốn người dùng nhập liệu .

Giải pháp 2

Xin chào Ý định của tôi là “nhấn” phím sau khi myapp hoàn tất để thực thi.

“C:\MyApp\MyApp.exe” “1”
ứng dụng của tôi kết thúc và sau đó:
“PressKey” {“SpaceBar”}

Cảm ơn!

コメント

タイトルとURLをコピーしました