常用虚拟码
模拟键盘鼠标

Declare Function MapVirtualKey Lib "user32" Alias "MapVirtualKeyA" (ByVal wCode As Long, ByVal wMapType As Long) As Long
Function MakeKeyLparam(ByVal VirtualKey As Long, ByVal flag As Long) As Long
Declare Function MapVirtualKey Lib "user32" Alias "MapVirtualKeyA" (ByVal wCode As Long, ByVal wMapType As Long) As Long
参数wCode 表示待转换的码,参数wMapType 表示从什么转换为什么,如果是虚拟码转扫描码,则wMapType 设置为0,如果是虚拟扫描码转虚拟码,则wMapType 设置为1,如果是虚拟码转ASCII码,则wMapType 设置为2.相信有了这些,我们就可以构造键盘事件的lParam参数了。下面给出一个构造lParam参数的函数:
WM_KEYUP 表示一个普通键被释放
WM_SYSKEYDOWN 表示一个系统键被按下,比如Alt键
WM_SYSKEYUP 表示一个系统键被释放,比如Alt键
如果你确定要发送以上几个键盘消息,那么再来看看如何确定键盘消息中的wParam 和lParam 这两个参数。在一个键盘消息中,wParam 参数的含义较简单,它表示你要发送的键盘事件的按键虚拟码,比如你要对目标程序模拟按下A键,那么wParam 参数的值就设为VK_A ,至于lParam 这个参数就比较复杂了,因为它包含了多个信息,一般可以把它设为0,但是如果你想要你的模拟更真实一些,那么建议你还是设置一下这个参数。那么我们就详细了解一下lParam 吧。lParam 是一个long类型的参数,它在内存中占4个字节,写成二进制就是00000000 00000000 00000000 00000000 一共是32位,我们从右向左数,假设最右边那位为第0位(注意是从0而不是从1开始计数),最左边的就是第31位,那么该参数的的0-15位表示键的发送次数等扩展信息,16-23位为按键的扫描码,24-31位表示是按下键还是释放键。大家一般习惯写成16进制的,那么就应该是&H00 00 00 00 ,第0-15位一般为&H0001,如果是按下键,那么24-31位为&H00,释放键则为&HC0,那么16-23位的扫描码怎么会得呢?这需要用到一个API函数MapVirtualKey,这个函数可以将虚拟码转换为扫描码,或将扫描码转换为虚拟码,还可以把虚拟码转换为对应字符的ASCII码。它的VB声明如下:
6位数字密码大全

6位数字密码大全首先,我们需要明白一个概念,那就是一个安全的密码应该是由数字、大小写字母和特殊符号组成的组合,这样才能大大增加密码的复杂度,提高破解的难度。
但是在某些情况下,我们可能只能使用数字作为密码,因此,我们需要找到一些6位数字密码的组合,来确保密码的安全性。
以下是一些常见的6位数字密码组合:1. 123456。
2. 000000。
3. 111111。
4. 654321。
5. 121212。
6. 777777。
7. 888888。
8. 999999。
9. 666666。
10. 555555。
以上这些密码组合都是非常常见的,很多人会选择这样简单的数字组合作为自己的密码。
但是,这些密码组合非常容易被破解,因此我们在设置密码的时候一定要避免使用这些常见的组合。
接下来,我们来看一些相对安全一些的6位数字密码组合:1. 135790。
2. 246810。
3. 987654。
4. 159357。
5. 369258。
6. 753951。
7. 852147。
8. 456123。
9. 654321。
10. 147258。
以上这些密码组合相对来说比较不容易被破解,因为它们的组合看起来比较随机,不容易被人猜到。
当然,即使是这样的密码组合,我们在设置密码的时候也需要注意一些规则,比如避免使用连续的数字、重复的数字等等。
最后,我们还可以通过一些特殊的方式来设置6位数字密码,比如通过自己的生日、纪念日、电话号码等个人信息来设置密码,这样的密码组合对于别人来说是比较难猜到的。
但是需要注意的是,这样的密码组合也存在被猜到的风险,因此在设置密码的时候一定要慎重考虑。
总的来说,一个安全的6位数字密码应该是比较随机的组合,避免使用常见的组合,同时也要避免使用个人信息来设置密码。
希望大家在设置密码的时候能够注意这些问题,保护好自己的个人信息和财产安全。
键盘虚拟键值编码表 使用keybd

键盘虚拟键值编码表使用keybd_Event也是在cnblogs上找的,怕到时忘了,先记下来原文章:/nemolog/archive/2005/10/30/265035.ht ml模拟键盘输入首先要用到一个API函数:keybd_event。
我们是菜鸟,所以不必具体去理解它的详细用法,只要按以下方法使用即可了!呵呵!模拟按键有两个基本动作,即按下键和放开按键,所以我们每模拟一次按键就要调用两次该API函数,其方法是:例子1:模拟按下'A'键keybd_event(65,0,0,0);keybd_event(65,0,KEYEVENTF_KEYUP,0);例子2:模拟按下'ALT+F4'键keybd_event(18,0,0,0);keybd_event(115,0,0,0);keybd_event(115,0,KEYEVENTF_KEYUP,0);keybd_event(18,0,KEYEVENTF_KEYUP,0);例子3:在启动一个程序之前清空屏幕(按Win +D)[DllImport("User32.dll")]public static extern void keybd_event(Byte bVk, Byte bScan, Int32 dwFlags, Int32 dwEx traInfo);keybd_event(0x5b, 0, 0, 0);keybd_event(68, 0, 0, 0);keybd_event(0x5b, 0, 0x2, 0);keybd_event(68, 0, 0x2, 0);附:常用模拟键的键值对照表。
键盘键与虚拟键码对照表字母和数字键数字小键盘的键功能键其它键键键码键键码键键码键键码A650 96 F1 112 Backspace 8B66197 F2 113Tab 9C67 2 98 F3 114Clear12D68399 F4 115Enter13E69 4 100 F5 116Shift16F70 5 101 F6 117Control17G71 6102 F7 118 Alt18H72 7 103 F8 119Caps Lock20I73 8 104F9 120Esc27J74 9105F10121Spacebar32K75 * 106F11122Page Up33L76 + 107F12123Page Down34M77 Enter 108-- --End35N78 - 109-- -- Home36O79 . 110---- Left Arrow 37P80 / 111---- Up Arrow38Q81 -- ------ Right Arrow 39R82 -- ------ Down Arrow 40S83 -- ---- -- Insert45T84 -- ------ Delete46U85 -- ---- -- Help47V86 ------ -- Num Lock144W87X88Y89Z90048149250351452553654755856957----------------------------------与键盘上各键对应的键值在软件开发的过程中我们经常与键盘打交道,以下是我查MSDN 所得希望对各位有帮助。
验证码大全

验证码以下是目前主流验证码,如无特殊要求,请务必使用小写录入,切记不要使用大写!xyxkkejwh gkghhzdx以上验证码来自(全球最大交友网),7-10个字母,输入时间限制很很短(20秒左右),需要快速录入,否则无效!rs4jr9g9 f5hqwp8r q53tgqcv以上验证码来自,网站设定的输入时间限制较长,需要慢慢的准确输入。
lifolid上图尤其要引起注意,这种类型的验证码是纯字母的,看到像数字7的一定是字母L,所以不要输错,毕竟打错是影响准确率的!Cebus possession Hotchkiss 60-48s. $523.514 Linehan此类验证码来自,需要区分大小写!即看到大写就录入大写,看到小写就小写录入!输入时两段码之间打一个空格。
比较繁琐的验证码,有空格,有"-",还有小数点"."和“$”等等符号。
3tx2x6u5 t3gtn8cs g6t5xhnahotmail的验证码系列,主流码出码在TT LA BO里,固定的8个字符(字母加数字混合),输入时间限制很长,可以慢慢输入。
bbyume4h ny8bp4(雅虎)的验证码系列(字母加数字混合),输入时间限制很较短,需要快速录入,所以容易吃码。
FCYVEA 4DZTDT EEV3EW此种验证码比较少见,来自荷兰egv网,具体是否必须区分大小写,不得而知,可以首选大写录入!rabresub miadocaill flystra frfajiv这种类型的验证码是(谷歌)和其旗下(优兔贝视频站)的,红绿蓝三种颜色,东倒西歪,熟练了蛮好打的,小写输入。
grocery johntra forms这也是超级繁琐的验证码,一般情况下上不多见,不必理会。
fihWnTO注意:这类型的验证码需要区分大小写,PF类型验证码,即看到大写字母就输入大写字母,看到小写就小写,必须严格按照图片显示的字母输入!pleasuring brighteners backwooding据我所知这种验证码是AOL中国邮件服务网站的,设计的非常不错的验证码类型,一般很难设计出自动识别的软件来攻克此种验证码。
虚拟编码器设计与转速测量

系统盼陕速性、 稳定性。因此 , 产生了很多针对具体应用对
象 的转速测量方式 , 中较为 常用的是测 速发 电机与光 电码 其 盘测速方式 。测速发 电机 利 用转 速与 电压 的线 性关 系 构造
码器测速方式。该虚拟编码器从应用的简渚眭出发, 充分使 用微处理器的功能模块, 将虚拟光电编码器的脉冲输出转化 为对应的微处理器系统时钟脉冲个数, 配合软件上的环形队 列算法, 从而实现了高精度的转速测量。该虚拟编码器的另
针对特定光电编码器, 通过软件实现提高转速测量精度的 目
1 引
言
的, 但都没能很好地解决转速测量精度与硬件成本之间的
矛盾 。
在转速 闭环 控制系统 中 , 电机转速通 常作 为反馈量 构成 闭环控制 。电机 转速 测量 的精度 将直 接影 响整 个 闭环 调速
本文在追求转速测量精度与硬件成本最佳平衡 的原则
要 :为了满 足某 些运动系统对转速测量高精度 的要求 , 本文提 出了虚拟编码器 的设计方 法。与测 速发 电机 、 电码盘等测 光
速方法进行的实际对 比说 明了虚 拟编码器应用于转速测量 的优越性 。通过在智 能车与钻 石研 磨机上使用虚拟编码器进行转 速 测量 的实践 , 验证 了虚拟编码器应用 于高精 度转 速测量的有效性 。 关键 词 : 虚拟编码器 ; 速测量 ; 转 转速测量 精度
字量来实现转速测量的 目的。由于光 电编码器在实际应用
中的有效性 , 随着应用需求的发展, 产生了很多基于光电编
码器的转速测量 理论与方法 。例如文 献 [ ] 出 了一种基 2 1提 算法 , [ ] 出了多通 道 的转 速测 量方 法 , 献 [ ] 出 文献 2 提 文 3给 了单圈绝对式 编码 方式 的测速方 法等 , 些理 论与方法 均是 这
汉字对应的数字代码 别

汉字对应的数字代码别汉字对应的数字代码,主要指的是Unicode码(统一码),是计算机标准化组织(ISO)为了解决文字字符的字符编码问题而制定的一套编码方案。
Unicode码使用16位编码,可以表示最多65536个字符。
在Unicode码中,汉字的编码范围为4E00-9FFF,共有20992个字符。
每个字符都有一个独立的数字代码。
以简体中文汉字为例,以下是部分汉字及其对应的Unicode码列表:汉字:一,Unicode码:4E00汉字:二,Unicode码:4E8C汉字:三,Unicode码:4E09汉字:四,Unicode码:56DB汉字:五,Unicode码:4E94汉字:六,Unicode码:516D汉字:七,Unicode码:4E03汉字:八,Unicode码:516B汉字:九,Unicode码:4E5D汉字:十,Unicode码:5341以上仅为部分汉字的Unicode码示例,每个汉字都有一个唯一的Unicode码。
这个编码方案使得在不同的计算机系统和软件中,汉字能够正确地进行输入、存储和显示。
Unicode码的出现,使得在计算机中处理含有不同文字字符的文本更加容易和便捷。
它使得不同语言、不同字体的文字能够在计算机上进行互操作。
除了Unicode码以外,还有其他的汉字编码方案,比如GBK (国标码),它是在Unicode码基础上进行扩展的编码方案,包含了大部分汉字字符。
需要注意的是,汉字对应的数字代码仅仅是一种字符编码方案,它只是一种抽象的概念。
在实际应用中,为了实现汉字的输入、存储和显示,还需要具体的输入法、操作系统和字库支持。
总之,汉字对应的数字代码主要指的是Unicode码,它是一种统一的字符编码方案,能够准确地表示汉字和其他字符。
Unicode码的出现极大地简化了计算机中处理文字字符的工作,使得不同语言、不同字体的文字能够在计算机上互操作。
格雷码GrayCode详解
格雷码GrayCode详解格雷码简介 在⼀组数的编码中,若任意两个相邻的代码只有⼀位⼆进制数不同,则称这种编码为格雷码(Gray Code),另外由于最⼤数与最⼩数之间也仅⼀位数不同,即“⾸尾相连”,因此⼜称循环码或反射码。
格雷码(Gray Code)⼜称Grey Code、葛莱码、格莱码、⼽莱码、循环码、反射⼆进制码、最⼩差错码等。
格雷码有多种编码形式⼗进制数4位⾃然⼆进制码4位典型格雷码⼗进制余三格雷码⼗进制空六格雷码⼗进制跳六格雷码步进码000000000001000000000000001000100010110000100010000120010001101110011001100011...表中典型格雷码具有代表性。
若不作特别说明,格雷码就是指典型格雷码,它可从⾃然⼆进制码转换⽽来。
为什么要使⽤格雷码?格雷码是⼀种具有反射特性和循环特性的单步⾃补码,其循环和单步特性消除了随机取数时出现重⼤错误的可能,其反射和⾃补特性使得对其进⾏求反操作也⾮常⽅便,所以,格雷码属于⼀种可靠性编码,是⼀种错误最⼩化的编码⽅式,因此格雷码在通信和测量技术中得到⼴泛应⽤。
格雷码属于可靠性编码,是⼀种错误最⼩化的编码⽅式。
因为,虽然⾃然⼆进制码可以直接由数/模转换器转换成模拟信号,但在某些情况,例如从⼗进制的3转换为4时⼆进制码的每⼀位都要变,能使数字电路产⽣很⼤的尖峰电流脉冲。
⽽格雷码则没有这⼀缺点,它在相邻位间转换时,只有⼀位产⽣变化。
它⼤⼤地减少了由⼀个状态到下⼀个状态时逻辑的混淆。
由于这种编码相邻的两个码组之间只有⼀位不同,因⽽在⽤于⽅向的转⾓位移量-数字量的转换中,当⽅向的转⾓位移量发⽣微⼩变化(⽽可能引起数字量发⽣变化时,格雷码仅改变⼀位,这样与其它编码同时改变两位或多位的情况相⽐更为可靠,即可减少出错的可能性。
在数字系统中,常要求代码按⼀定顺序变化。
例如,按⾃然数递增计数,若采⽤8421码,则数0111变到1000时四位均要变化,⽽在实际电路中,4位的变化不可能绝对同时发⽣,则计数中可能出现短暂的其它代码(1100、1111等)。
键盘对照码
VK_PACKET 231
VK_PROCESSKEY 229
VK_ATTN 246
VK_CRSEL 247
VK_EXSEL 248
VK_BROWSER_STOP 169
VK_BROWSER_SEARCH 170
VK_BROWSER_FAVORITES 171
VK_BROWSER_HOME 172
VK_VOLUME_MUTE 173 VolumeMute
VK_VOLUME_DOWN 174 VolumeDown
48 0
49 1
50 2
51 3
52 4
53 5
54 6
55 7
56 8
57 9
65 A
66 B
67 C
68 D
69 E
70 F
71 G
72 H
73 I
74 J
75 K
76 L
VK_LCONTROL 162
VK_RCONTROL 163
VK_LMENU 164
VK_RMENU 165
VK_BROWSER_BACK 166
VK_BROWSER_FORWARD 167
VK_BROWSER_REFRESH 168
VK_SELECT 41 Select
VK_PRINT 42 Print
VK_EXECUTE 43 Execute
VK_SNAPSHOT 44 Snapshot
VK_INSERT 45 Insert
VK_DELETE 46 Delete
VK_HELP 47 Help
Visual Basic模拟按键
VB模拟按键教程简单点说,虚拟码就是我们经常可以看到的像VK_A,VK_B这样的常数,比如键A的虚拟码是65,写成16进制就是&H41,注意,人们经常用16进制来表示虚拟码。
当键盘驱动程序把扫描码转换为虚拟码后,会把这个键盘操作的扫描码和虚拟码还有其它信息一起传递给操作系统。
然后操作系统则会把这些信息封装在一个消息中,并把这个键盘消息插入到消息列队。
最后,要是不出意外的话,这个键盘消息最终会被送到当前的活动窗口那里,活动窗口所在的应用程序接收到这个消息后,就知道键盘上哪个键被按下,也就可以决定该作出什么响应给用户了。
这个过程可以简单的如下表示:用户按下按键-----键盘驱动程序将此事件传递给操作系统-----操作系统将键盘事件插入消息队列-----键盘消息被发送到当前活动窗口明白了这个过程,我们就可以编程实现在其中的某个环节来模拟键盘操作了。
在VB中,有多种方法可以实现键盘模拟,我们就介绍几种比较典型的。
1.局部级模拟从上面的流程可以看出,键盘事件是最终被送到活动窗口,然后才引起目标程序响应的。
那么最直接的模拟方法就是:直接伪造一个键盘消息发给目标程序。
哈哈,这实在是很简单,windows提供了几个这样的API函数可以实现直接向目标程序发送消息的功能,常用的有SendMessage和PostMessage,它们的区别是PostMessage函数直接把消息仍给目标程序就不管了,而SendMessage把消息发出去后,还要等待目标程序返回些什么东西才好。
这里要注意的是,模拟键盘消息一定要用PostMessage函数才好,用SendMessage是不正确的(因为模拟键盘消息是不需要返回值的,不然目标程序会没反应),切记切记!PostMessage函数的VB声明如下:Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long 参数hwnd 是你要发送消息的目标程序上某个控件的句柄,参数wMsg 是消息的类型,表示你要发送什么样的消息,最后wParam 和lParam 这两个参数是随消息附加的数据,具体内容要由消息决定。
虚拟号基础知识及世界各国虚拟号大集合
在接触网络电话的过程中,常常会提到虚拟号和转接号。
为了充分利用网络电话的免费资源,虚拟号和转接号使用在其中起着非常重要的作用。
当你对网络电话有了一定的了解之后,学会使用虚拟号和转接号将会给你带来更多可用的免费网络电话资源。
那么什么是虚拟号呢?虚拟号英文virtual number,虚拟号的字面意思就是一个虚拟的电话号码,这个号码不是真实的座机号码也不是真实的手机号码,但是这个号码又具有普通电话号码的功能,经过配置后,手机或者座机都可以拨打这个号码,它不仅可以接电话,而且可以打电话。
利用网络电话的免费资源(或者付费服务),还可以把打到这个虚拟号码的电话转到已有的座机或手机上去。
虚拟号一般都是配置在网络电话软件上,在电脑或者能上网的手机上使用,它常常和网络电话的Sip帐号相结合。
这时配置有虚拟号的软件就相当于一部电话机,它可以接电话,(配上免费的网络电话资源或者付费充值后)也可以打电话。
虚拟号有什么作用呢?作用很多。
在这里主要就它在免费网络电话中的用处作简要的介绍。
现在很多网络电话的免费服务都是有地域限制的,能够享受免费服务的国家以英、美、法等西方发达国家居多。
如果你提供的电话号码不在它们的免费之列,那么你就不能享受它提供的免费服务。
在需要验证使用者电话号码、或者需要识别来电号码以及在提供回拨服务的网络电话中,拥有一个美国或者英、法等国的虚拟号,其作用就尤为明显。
虚拟号可以打破国别范围,在网络上它可以从一个国家辐射到世界各地。
比如你有一个美国虚拟号,那么不管你是在美洲的美国、欧洲的英国、亚洲的中国,抑或非洲的某国,只要你有网络连接并在线,别人都可以用座机、手机或者电脑拨打你的虚拟号,从而与你通话。
当然你也可以用这个虚拟号拨打全球的电话号码。
不过大家还是要知道,虚拟号在免费使用中的作用总是有些限制的。
另外,假如你在上海开了一家公司,但你通过虚拟号,可以同时拥有北京,深圳等地的电话号码做为你的客服电话号码,这样,给客户的感觉,这是一家较大的企业。