vc中应该如何向窗口发送组合键消息

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vc中应该如何向窗口发送组合键消息相关的知识,希望对你有一定的参考价值。

已经有窗口句柄,只是用windows API
谢谢
比如说 Ctrl+‘s'

SendKeys.Send("^+TAB"); 题目永远不在于如何应用思维里产生极新的、发明性的思惟,而在于如何从思维里镌汰旧观念。SendKeys.Send("^+TAB");没有风波,就不克不及显示帆的本质;没有盘曲,就无法咀嚼人生的乐趣。应用SendKeys将键击和组合键击发送到活动应用法度。此类无法实例化。若要发送一个键击给某个类并立即持续法度流,请应用Send。若要守候键击启动的任何过程,请应用SendWait。
每个键都由一个或多个字符默示。若要指定单个键盘字符,请应用该字符本身。例如,若要默示字母 A,请将字符串“A”传递给办法。若要默示多个字符,请将各个附加字符追加到它之前的字符的后面。若要默示字母A、B和C,请将参数指定为“ABC”。
加号(+)、插入符号(^)、百分号(%)、波浪号(~)以及圆括号()对 SendKeys 具有特别含义。若要指定这些字符中的某个字符,请将其放在大括号 () 内。例如,若要指定加号,请应用“+”。若要指定大括号字符,请应用“”和“”。中括号 ([ ]) 对 SendKeys 没有特别含义,但必须将它们放在大括号内。在其他应用法度中,中括号具有特别含义,此含义可能会在产活泼态数据互换(DDE)时起首要感化。
若要指定在按键(如ENTER或TAB)时不显示的字符,以及默示操纵而不默示字符的键,请应用下表中的代码: 键 代码
BACKSPACE BACKSPACE、BS 或 BKSP
BREAK BREAK
CAPS LOCK CAPSLOCK
DEL 或 DELETE DELETE 或 DEL
DOWN ARROW(下箭头键) DOWNEND ENDENTER ENTER 或 ~ESC ESCHELP HELP
HOME HOME
INS 或 INSERT INSERT 或 INS
LEFT ARROW(左箭头键) LEFT
NUM LOCK NUMLOCK
PAGE DOWN PGDN
PAGE UP PGUP
PRINT SCREEN PRTSC(保存供将来应用)
RIGHT ARROW(右箭头键) RIGHT
SCROLL LOCK SCROLLLOCKTAB TABUP ARROW(上箭头键) UPF1 F1F2 F2F3 F3F4 F4F5 F5F6 F6F7 F7F8 F8F9 F9F10 F10F11 F11F12 F12F13 F13F14 F14F15 F15F16 F16数字键盘加号 ADD
数字键盘减号 SUBTRACT
数字键盘乘号 MULTIPLY
数字键盘除号 DIVIDE
若要指定与SHIFT、CTRL和ALT键的随便率性组合一路应用的键,请在这些键代码之前加上以下一段或多段代码。 键 代码SHIFT +CTRL ^ALT %若要指定在按一些键时应同时按住SHIFT、CTRL和ALT键的随便率性组合,请将这些键的代码放在括号内。例如,若要指定按E和C时同时按住SHIFT键,请应用“+(EC)”。若要指定按E时应按住SHIFT,之后按C时不按住 SHIFT,请应用“+EC”。
要指定反复的键,请应用 键数字 的情势。键和数字之间必须放一空格。例如,LEFT 42 默示按左箭头键 42 次;h 10 默示按H 10次。
参考技术A 详情请看参考资料,他说的是alt键
而ctrl键的虚拟键值为VK_CONTROL,换一下就行了。

参考资料:http://blog.csdn.net/pjl1119/article/details/6914902

本回答被提问者采纳

以上是关于vc中应该如何向窗口发送组合键消息的主要内容,如果未能解决你的问题,请参考以下文章

如何在VB中用PostMessage向指定窗口发送带有修饰键的组合键?

delphi 中怎么向一个非活动窗口发送组合键

怎样用postMessage向一个窗口发送Alt+D组合键

VC 中如何实现全局热键,不要求用组合键,如单键F2执行关机?

PostMessage真的不能实现向后台发送组合键吗

在ubuntu18.04下,通过编程向系统发送组合键