Trên thực tế, tôi đã tìm thấy một cách giải quyết, xử lý vấn đề này một cách hoàn hảo.
- Tải xuống tiện ích miễn phí này https://autohotkey.com
- Tạo tệp * .ahk và dán tập lệnh
; This should be replaced by whatever your native language is. See
; http://msdn.microsoft.com/en-us/library/dd318693%28v=vs.85%29.aspx
; for the language identifiers list.
en := DllCall("LoadKeyboardLayout", "Str", "00000409", "Int", 1)
de := DllCall("LoadKeyboardLayout", "Str", "00000C07", "Int", 1)
sv := DllCall("LoadKeyboardLayout", "Str", "0000081D", "Int", 1)
^1::
w := DllCall("GetForegroundWindow")
pid := DllCall("GetWindowThreadProcessId", "UInt", w, "Ptr", 0)
l := DllCall("GetKeyboardLayout", "UInt", pid)
PostMessage 0x50, 0, %en%,, A
return
^2::
w := DllCall("GetForegroundWindow")
pid := DllCall("GetWindowThreadProcessId", "UInt", w, "Ptr", 0)
l := DllCall("GetKeyboardLayout", "UInt", pid)
PostMessage 0x50, 0, %de%,, A
return
^3::
w := DllCall("GetForegroundWindow")
pid := DllCall("GetWindowThreadProcessId", "UInt", w, "Ptr", 0)
l := DllCall("GetKeyboardLayout", "UInt", pid)
PostMessage 0x50, 0, %sv%,, A
return
Xin lưu ý rằng chúng tôi xác định ngôn ngữ theo cách sau:
sv := DllCall("LoadKeyboardLayout", "Str", "0000081D", "Int", 1)
Định danh ngôn ngữ cho tiếng Thụy Điển theo trang web được đề cập trong tập lệnh là
0x081D
có nghĩa là chúng tôi chỉ lấy 3 ký tự cuối cùng
81D
và tiền tố chúng với 5 số không, vd
0000081D
- Sau đó, bạn tạo tệp * .exe bằng ứng dụng đã nói ở trên
- Đặt tệp thực thi vào thư mục tự khởi động Windows 10
nhấn Win+ Rrồi gõ
vỏ: khởi động
nhấn Entervà bạn thấy thư mục - thế thôi!