我想通过触发全局热键(组合Ctrl+Shift+F12)来使用Powershell脚本中的一个函数,该热键由我的脚本注册和注销。我需要访问由我的脚本创建的.NET对象。在伪代码中:
$object_i_need = New-Object SomeClass
register_hotkey "Ctrl+Shift+F12" hotkey_func
function hotkey_func { do_something_with $object_i_need }
wait_for_keypress
unregister_hotkey
这有可能吗?
如果.Net对象支持Add_Keydown
(如System.Windows.Forms.Form),则可以执行以下操作。。。
$objWhatever.KeyPreview = $True
$objWhatever.Add_KeyDown({
if ($_.KeyCode -eq "Enter"){
hotkey_func{}
}
})