问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

...键,比如ctrl+Enter,shif+D。可否借参考下MyHotKeyClass

发布网友 发布时间:2024-10-15 13:38

我来回答

3个回答

热心网友 时间:2024-11-05 19:07

同问。
我试过,自定义命令是不支持“Shift+字母”这样的快捷键组合的。至于钩子,C#似乎并不支持真正的钩子,而且钩子有被杀毒软件误杀的可能性。

在主窗口的PreviewKeyDown事件中处理也会存在问题。——中文输入法打开时无效。
所以我是用输入法切换这个办法,一旦发现中文输入法打开
if (e.key == Key.ImeProcessed)
{
//MessageBox.Show(……
}
,就弹出个消息框,用户点击后自动关闭中文输入法:
System.Windows.Input.InputMethod.Current.ImeState =InputMethodState.Off;
——但这个办法显然不是太好。

实际上,即使中文输入法打开时,如果可以从PreviewKeyDown事件的参数e中取到“用户按下了哪个字母键引起了输入法的输入行为”,就可以解决“Shift+字母”组合键的问题了。但很遗憾,取不到——MSDN的说法应该并不正确(我在网上查过,似乎确实是.net的问题)。如果哪位高人知道如何取此字母键,请务必分享,先谢过。哈哈。

至于用遍历的办法判断二十六个字母键是否处于被按下状态我没试过。

ctrl+Enter貌似倒是比较容易实现:在PreviewKeyDown事件中判断用户是否按下了这个组合键,然后实现自定义逻辑,再令:e.Handled=true;
即可。

热心网友 时间:2024-11-05 18:59

这个我也不怎么会,我就想回下:怎么样给菜单项"打开"加上快捷键Ctrl+O,并且按这个组合键时能够 真正起作用!

热心网友 时间:2024-11-05 19:01

<Window.Resources>
<RoutedUICommand x:Key="Play" Text="play" />
<RoutedUICommand x:Key="Stop" Text="stop" />
<RoutedUICommand x:Key="Back" Text="back" />
<RoutedUICommand x:Key="Advance" Text="advance" />
<RoutedUICommand x:Key="Reaset" Text="reaset" />
</Window.Resources>
<Window.InputBindings>
<KeyBinding Modifiers="Ctrl+Alt" Key="I" Command="{StaticResource Play}"/>
<KeyBinding Gesture="Ctrl+Alt+2" Command="{StaticResource Stop}"/>
<KeyBinding Gesture="Ctrl+Alt+3" Command="{StaticResource Back}"/>
<KeyBinding Gesture="Ctrl+Alt+4" Command="{StaticResource Advance}"/>
<KeyBinding Gesture="Ctrl+Alt+5" Command="{StaticResource Reaset}"/>
</Window.InputBindings>
<Window.CommandBindings>
<CommandBinding Command="{StaticResource Play}"
CanExecute="CommandBinding_CanExecute"
Executed="CommandBinding_Executed"/>
<CommandBinding Command="{StaticResource Stop}"
CanExecute="CommandBinding_CanExecute"
Executed="CommandBinding_Executed_1"/>
<CommandBinding Command="{StaticResource Back}"
CanExecute="CommandBinding_CanExecute"
Executed="CommandBinding_Executed_2"/>
<CommandBinding Command="{StaticResource Advance}"
CanExecute="CommandBinding_CanExecute"
Executed="CommandBinding_Executed_3"/>
<CommandBinding Command="{StaticResource Reaset}"
CanExecute="CommandBinding_CanExecute"
Executed="CommandBinding_Executed_4"/>
</Window.CommandBindings>
这个是我写过的一个项目的例子。。参考下
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
找专业防水队做完还漏水怎么维权 法院会受理房屋漏水造成的纠纷吗? 巴西龟最长活多久,家养!!! 养胃的药最好的是什么啊 婴儿积食发烧不愿吃药怎么办 板门穴位在哪个部位 手机设置放偷看的方法? 凝结水回收器生产厂家? 个人账户养老金预测公式:现有5万元,缴费20年,能领多少钱? 临沂比较有名的男装品牌 正宗的山西刀削面是如何做的? 华为P60什么时候发布 华为P60系列发布会时间及直播观看地址介绍... 丽台fx4800 k620谁好 ...天天)地想着圆圆(远远)的你 ,亲爱的,我不说。是什么歌? ...的城市”,记得这两句歌词,是一首闽南语歌曲。求歌名 天空月亮圆又圆妹妹说话甜又甜这首歌叫什么名字 秀姑峦溪怎么样 秀姑峦溪全年都适合泛舟活动吗? 秀姑峦溪泛舟地址在哪里? 秀姑峦溪泛舟怎么样 秀姑峦溪是什么意思? 想购买笔记本,4000左右的,问下笔记本的cpu的话大概多少优劣怎么样... 烫伤搞弄到衣服上去了…怎么有效的洗掉! ...wps为的是考试查找比较方便,但6一直没搞明白怎么用,求大神指点... wps出现如下字体求大神指点!谢谢 《浮岛物语》突出一个又肝又休闲 浮岛物语全收集攻略:游戏内所有收集物品一次性获取方法 浮岛物语任务攻略:游戏攻略详解 浮岛物语收集任务指南:详解游戏中的收集要求 浮岛物语便便怎么大量获得 电脑突然关机好几次后,再打开就出现windows,下面说信息:文件丢失或破 ... ...强行关机又开机后出现“windows恢复失败”是怎么回事? 怎样加入微博群 新浪微博如何建粉丝群和找群 新浪show怎么看电影? 怎样用新浪show登陆智悲讲堂图文解说视频 新浪show房间录像存在哪 泰安必吃的小吃有哪些 泰安必吃的小吃介绍 泰安周边有什么特色美食? ...戏校花到人人羡慕的“豪门太太”,你知道胡静的上位史是怎样的吗? ...喜欢的女主,原来是历史上第一位中国籍拿汀,你认识她吗? 手机双清后一直停留在开机画面怎么办 ...的手机恢复出厂设置第一次开机却一直停在开机画面? 百度影音如何设置自动清除缓存? ...里?要怎么删除啊?发现硬盘空间越来越小了。 百度影音为什么会把电影下载自动到硬盘里? 唐朝服饰和官帽上的花纹要图... ...应该多了解了解 以后的日子每天找她聊天她也很愿 跟女生聊天心急怎么办 为啥洗衣机开起甩水工能起动时会有喳喳地声音,是不是