উত্তর:
রাসেলের উত্তরটি আপনাকে উদাহরণ হিসাবে RDP ব্যবহার করে সেখানে একটি বড় অংশে পরিণত করে। আপনি vsphere / vmware কনসোলে আছেন তা সনাক্ত করা একটু কঠিন তবে নিচের সাথে সম্পন্ন করা যেতে পারে। আমি পরিবর্তন / সংযোজন মন্তব্য করেছি
#UseHook
#SingleInstance force
; A window's title can contain WinTitle anywhere inside it to be a match
SetTitleMatchMode, 2
setTimer, windowWatch, 500
windowWatch:
; if rdp OR (partial title matching vsphere AND you are in the console captured section)
if WinActive("ahk_class TscShellContainerClass") or (WinActive(" - vSphere Client") and Control("MKSEmbedded1")) {
if (!active) {
active := true
Sleep 50
suspend off
}
} else {
active := false
suspend on
}
return
; return ClassNN of mouse position
Control(ClassNN) {
MouseGetPos,,,,control
return (ClassNN = control)
}
আমি play / বিরতি মিডিয়া কীগুলি rdp / vsphere উভয়তে কাজ করার অনুমতি দিতে এটি ব্যবহার করি
Media_Play_Pause::
Sleep 50
Run "C:\Foobar2000\foobar2000.exe" /playpause
return
আপনার AHK স্ক্রিপ্টে এটি ব্যবহার করে দেখুন:
send ^!{LShift}{RShift} ; send ctrl+alt+left shift+right shift
SendPlay
পরিবর্তে Send
। যে চেষ্টা করে না SendInput
। এএইচকে বিভিন্ন ধরণের মোড প্রেরণ করে এবং কোনটি কখনও কখনও অ্যাপ্লিকেশনের উপর নির্ভর করে।
ভিএমওয়্যার সম্ভবত এটির নিজস্ব কীবোর্ড হুক স্থাপন করে যা এটিএইচকে এর চেয়ে অগ্রাধিকার দেয়। রিমোট ডেস্কটপ ক্লায়েন্ট চালানোর সময় একই সমস্যা হয়। সমাধানের লক্ষ্যটি হ'ল টার্গেট উইন্ডোটি প্রতিবার সক্রিয় থাকে কিনা তা যাচাই করা এবং যদি এটি থাকে তবে এটিএইচকে হুক পুনরায় ইনস্টল করুন। হুক স্থগিত করা এবং তারপর AHK unsuspending দ্বারা পুনরায় ইনস্টল করা যেতে পারে।
এখানে রিমোট ডেস্কটপের জন্য আমার স্ক্রিপ্ট যা VMWare এর জন্য সহজেই কাস্টমাইজযোগ্য হওয়া উচিত:
; Script by Russell Davis, http://russelldavis.blogspot.com/
; with inspiration from http://www.autohotkey.com/forum/topic5702.html
; and http://www.autohotkey.com/forum/topic1662.html
#UseHook
#SingleInstance force
setTimer, windowWatch, 500
windowWatch:
if WinActive("ahk_class TscShellContainerClass") {
if (!active) {
active := true
; Short sleep to make sure remote desktop's hook is in place first
Sleep 50
; Coming out of suspend mode recreates the keyboard hook, giving
; our hook priority over the remote desktop client's.
suspend off
}
} else {
active := false
suspend on
}
return
; Be careful if using a hotkey with an Alt or Win modifier. The modifier's
; keyup event may trigger a system action. AHK is supposed to work around this,
; but it doesn't seem to work in this case.
; See http://www.autohotkey.com/forum/topic22378.html for a related discussion.
^+CapsLock::
; Need a short sleep here for focus to restore properly.
Sleep 50
WinMinimize ahk_class TscShellContainerClass
return