虚拟键值表(用于创建快捷键)

By admin at 2017-12-10 • 0人收藏 • 1363人看过

虚拟键     十六进制值 十进制值    相应键盘或鼠标键

VK_LBUTTON 1 1      鼠标左键

VK_RBUTTON 2 2      鼠标右键

VK_CANCEL 3 3      Ctrl-Break键

VK_MBUTTON 4 4      鼠标中键

VK_BACK         8 8      Backspace键

VK_TAB         9 9      Tab键

VK_CLEAR 0C 12      Clear键

VK_RETURN 0D 13      Enter键

VK_SHIFT 10 16      Shift键

VK_CONTROL 11 17      Ctrl键

VK_MENU         12 18      Alt键

VK_PAUSE 13 19      Pause键

VK_CAPITAL 14 20      Caps Lock键

VK_ESCAPE 1B 27      Esc键

VK_SPACE 20 32      Space键

VK_PRIOR 21 33      Page Up键

VK_NEXT         22 34      Page Down键

VK_END         23 35      End键

VK_HOME         24 36      Home键

VK_LEFT         25 37      ←键

VK_UP         26 38      ↑键

VK_RIGHT 27 39      →键

VK_DOWN         28 40      ↓键

VK_SELECT 29 41 Select键

VK_PRINT 2A 42 Print键

VK_EXECUTE 2B 43 Execute键

VK_SNAPSHOT 2C 44 Print Screen键

VK_INSERT 2D 45 Ins键

VK_DELETE 2E 46 Del键

VK_HELP         2F 47 Help键

VK_0         0x30 48 0键

VK_1         0x 31 49 1键

VK_2         0x 32 50 2键

VK_3         0x 33 51 3键

VK_4         0x 34 52 4键

VK_5         0x 35 53 5键

VK_6         0x 36 54 6键

VK_7         0x 37 55 7键

VK_8         0x 38 56 8键

VK_9         0x 39 57 9键

VK_A         41 65 A键

VK_B         42 66 B键

VK_C         43 67 C键

VK_D         44 68 D键

VK_E         45 69 E键

VK_F         46 70 F键

VK_G         47 71 G键

VK_H         48 72 H键

VK_I         49 73 I键

VK_J         4A 74 J键

VK_K         4B 75 K键

VK_L         4C 76 L键

VK_M         4D 77 M键

VK_N         4E 78 N键

VK_O         4F 79 O键

VK_P         50 80 P键

VK_Q         51 81 Q键

VK_R         52 82 R键

VK_S         53 83 S键

VK_T         54 84 T键

VK_U         55 85 U键

VK_V         56 86 V键

VK_W         57 87 W键

VK_X         58 88 X键

VK_Y         59 89 Y键

VK_Z         5A 90 Z键

VK_LWIN         5B 91 左Windows键

VK_RWIN         5C 92 右Windows键

VK_APPS         5D 93 应用程序键

VK_SLEEP 5F 95 休眠键

VK_NUMPAD0 60 96 小数字键盘0键

VK_NUMPAD1 61 97 小数字键盘1键

VK_NUMPAD2 62 98 小数字键盘2键

VK_NUMPAD3 63 99 小数字键盘3键

VK_NUMPAD4 64 100 小数字键盘4键

VK_NUMPAD5 65 101 小数字键盘5键

VK_NUMPAD6 66 102 小数字键盘6键

VK_NUMPAD7 67 103 小数字键盘7键

VK_NUMPAD8 68 104 小数字键盘8键

VK_NUMPAD9 69 105 小数字键盘9键

VK_MULTIPLY 6A 106 乘号键

VK_ADD 6B 107 加号键

VK_SEPARATOR 6C 108 分割键

VK_SUBSTRACT 6D 109 减号键

VK_DECIMAL 6E 110 小数点键

VK_DIVIDE 6F 111 除号键

VK_F1         70 12 F1键

VK_F2         71 113 F2键

VK_F3         72 114 F3键

VK_F4         73 115 F4键

VK_F5         74 116 F5键

VK_F6         75 117 F6键

自定义快捷键:

//定义快捷键Ctrl+Q
hkid = winform.reghotkey ( function ( id, mod, vk )
{
    Func_Run();
}
, 0x2/*_MOD_CONTROL*/, 0x51/*_VK_Q*/ );


3 个回复 | 最后更新于 2019-05-10
2017-12-10   #1

窗口注册热键:F11全屏,esc退出

import win.ui.accelerator;
var accelerator = win.ui.accelerator( {
        { vkey = 0x7A/*_VK_F11*/;  oncommand = function() winform.fullscreen() }  
        { vkey = 0x1B/*_VK_ESC*/; oncommand = function() winform.fullscreen(false) }
},winform);


2017-12-10   #2

数字键盘上的键的键码值(keyCode)

按键       键码         按键       键码

0              96              8        104

1              97              9        105

2              98              *        106

3              99              +        107

4              100        Enter     108

5              101             -        109

6              102             .        110

7              103             /        111

功能键键码值(keyCode)

按键    键码     按键     键码

F1       112       F7       118

F2       113       F8       119

F3       114       F9       120

F4       115       F10     121

F5       116       F11     122

F6       117       F12     123

控制键键码值(keyCode)

按键              键码              按键              键码              按键               键码              按键              键码

BackSpace    8                   Esc               27              Right Arrow       39                  -_                189

Tab                9                   Spacebar      32              Dw Arrow          40              .>                     190

Clear             12                 Page Up        33              Insert                45              /?                     191

Enter             13                 Page Down   34              Delete               46              `~                     192

Shift              16                 End                35              Num Lock        144              [{                      219

Control         17                  Home            36              ;:                       186              \                      220

Alt                18                  Left Arrow      37              =+                    187              ]}                     221

Cape Lock    20                Up Arrow        38              ,<                      188              '"                     222


多媒体键码值(keyCode)

按键              键码

音量加          175

音量减          174

停止              179

静音              173

浏览器           172

邮件              180

搜索              170

收藏              171


2019-05-24   #3

最近有个项目调用了一个ocx里面的耗时操作函数, 增加快捷键的时候遇到了问题, 用 加速键只要有一个加速键被执行,其他的就执行不了了, 试了各种办法, 异步,线程回调, 等等 最终也没复现这个问题, 只要调用ocx里面的函数就不行, 我自己写的怎么弄都可以, 郁闷了

最后, 发现用 全局热键 是可以执行了. 但是这样会把系统内置的快捷键给干掉, 不是最好的办法, 项目急只能先这么用了.

下面在窗体里判断窗口是否是激活的, 如果不是激活的状态就注销掉这个全局快捷键, 激活立马注册这个快捷键, 这样就不会对操作其他窗口和文档产生影响了.

import win.ui.accelerator;
var accelerator = win.ui.accelerator({

    { 
        vkey = 0xD/*_VK_ENTER*/; 
        oncommand = mainForm.demo.oncommand; 
    };  
    
    { 
        vkey = 0x2E/*_VK_DELETE*/; 
        oncommand = mainForm.demo2.oncommand; 
    };  

},mainForm );

var hkid; 
mainForm.wndproc = function(hwnd,message,wParam,lParam){
	select( message ) { 
		case 6/*_WM_ACTIVATE*/{
			var fActive = ::LOWORD(wParam);
			if(fActive != 0/*_WA_INACTIVE*/ and ::HIWORD(wParam)==0 ){
				if(hkid == null){
					hkid = mainForm.reghotkey(function(id,mod,vk){
						mainForm.demo.oncommand();
					}
					,,0x2D/*_VK_INSERT*/);
				}	
			}else {
				mainForm.unreghotkey(hkid);
				hkid = null;	
			}

		}
		case 0x10/*_WM_CLOSE*/{
			mainForm.unreghotkey(hkid);
			hkid = null;
		}
		else{
			
		}
	}
	//无返回值则继续调用默认回调函数
}


登录后方可回帖

登 录
信息栏
 私人小站

本站域名

ChengXu.XYZ

投诉联系:  popdes@126.com



快速上位机开发学习,本站主要记录了学习过程中遇到的问题和解决办法及上位机代码分享

这里主要专注于学习交流和经验分享.
纯私人站,当笔记本用的,学到哪写到哪.
如果侵权,联系 Popdes@126.com

友情链接
Aardio官方
Aardio资源网


才仁机械


网站地图SiteMap

Loading...