2011-10-17 37 views
6

Tôi cần gọi một tập lệnh AutoHotkey để trả về một giá trị.Làm cách nào để trả lại giá trị từ tập lệnh AutoHotkey?

Ví dụ, một cái gì đó như thế này:

return_val = Shell("AutoHotKey.exe script.ahk") 

Kịch bản của tôi trông như thế này:

IfExists, filename 
    return 1 
Else 
    return 0 

tôi nhận được một lỗi nói với tôi rằng tôi không thể có một giá trị trong tuyên bố chấm dứt trở lại. Tôi cũng đã thử sử dụng câu lệnh Exit thay vì trả lại.

Làm cách nào để trả lại giá trị từ tập lệnh AutoHotkey?

Trả lời

6

Để trả lại mã thoát, bạn sẽ muốn gọi ExitApp cùng với mã mong muốn của mình. Sử dụng IfExist để xác định xem tệp có tồn tại không. Điều này có nghĩa các tập lệnh mà bạn gọi sẽ giống như thế này:

IfExist, c:\test.txt 
    ExitApp, 1 
Else 
    ExitApp 0 

Khi gọi kịch bản bạn nên sử dụng RunWait và vượt qua nó các tham số UseErrorLevel. Điều này sẽ đặt biến số ErrorLevel thành mã thoát của quá trình được gọi nếu nó khởi chạy chính xác hoặc văn bản ERROR nếu không thể bắt đầu quá trình.

RunWait, C:\Program Files (x86)\AutoHotkey\AutoHotkey.exe "C:\script.ahk",, UseErrorLevel 
MsgBox %ErrorLevel% 

Trong ví dụ này, hộp thông báo sẽ hiển thị '1' nếu tệp tồn tại hoặc '0' nếu tệp không tồn tại.

Các vấn đề liên quan