vb中按下ctrl键和松开ctrl的命令怎么写

vb中按下ctrl键和松开ctrl的命令怎么写,第1张

在事件KeyDown和KeyUp中有个Shift。要判断Ctrl键是否按下,使用该常数。该参数用作位屏蔽。它可被用来测试任何键组合。

CtrlDown = (Shift And VbCtrlMask) >0

ShiftDown = (Shift And vbShiftMask) >0

AltDown = (Shift And VbAltMask) >0

用命令按下和松开Ctrl键:

使用API函数keybd_event。

Const VK_CONTROL = &H11

Const KEYEVENTF_EXTENDEDKEY = &H1

Const KEYEVENTF_KEYUP = &H2

Private Declare Sub keybd_event Lib "user32" Alias "keybd_event" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)

这个函数模拟了键盘

行动

bVk Byte,欲模拟的虚拟键码,API中定义了一些键值,用API Text View看看是否有你需要的。

bScan Byte,键的OEM扫描码

dwFlags Long,零;或设为下述两个标志之一:

KEYEVENTF_EXTENDEDKEY 指出是一个扩展键,而且在前面冠以0xE0代码

KEYEVENTF_KEYUP 模拟松开一个键

dwExtraInfo Long,通常不用的一个值。使用的时候一般没管,填0

下面的代码是打开一个记事本,并发送Ctrl+O,使打开文件对话框出现

Const VK_CONTROL = &H11

Const KEYEVENTF_EXTENDEDKEY = &H1

Const KEYEVENTF_KEYUP = &H2

Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)

Private Sub Form_Load()

Shell "notepad.exe", vbNormalFocus '运行记事本程序

keybd_event VK_CONTROL, 0, 0, 0 '按下Ctrl键

keybd_event vbKeyO, 0, 0, 0 '按下字母O键

keybd_event VK_CONTROL, 0, KEYEVENTF_KEYUP, 0 '放开Ctrl键

keybd_event vbKeyO, 0, KEYEVENTF_KEYUP, 0 '放开字母O键

End Sub

册表修改方法

通过修改注册表我们可以实现一些特殊的功能,但是注册表又是十分脆弱的,一个不小心就会出现错误。那么我们怎么样来修改注册表呢?我总结为以下几种方法:

1.软件修改(安全)

通过一些专门的修改工具来修改注册表,比如:MagicSet、TweakUI、WinHacker等等。其实控制面板就是一个这样的工具,只不过功能简单一些。

2.间接修改(比较安全)

将要修改的写入一个.reg文件中,然后导入注册表中。.reg文件的基本格式为:

REGEDIT4</P><P>[HKEY_LOCAL_MACHINE\Software\Super Rabbit\MagicSet]

"@"="Super Rabbit Magic Set For Windows 98 V2.92"

"a"=dword:00000001

"b"=hex:02,05,00,00

……

[HKEY_LOCAL_MACHINE\Software\SCC\QuickViewer]

……

第一行为“REGEDIT4”,必须大写。

第二行为空行。

第三行使用[]括起子键分支,其中HKEY_LOCAL_MACHINE\Software\Super Rabbit\MagicSet就是一个子键分支。

第四、五、六行是该子键下的设置数据。其中@表示注册表编辑器右窗格中的"默认"键。

以下类似。

这样做的好处是可以避免错误的写入或删除等 *** 作,但是要求用户了解注册表的内部结构和.reg文件的格式。

3.直接修改(最不安全,但最直接有效)

就是通过注册表编辑器直接的来修改注册表的键值数据项,这样做会避免在注册表中留下垃圾(虽然都很小,但越来越多会拖慢系统速度),但是要求用户有一定的注册表知识,熟悉注册表内部结构而且一定要小心谨慎。

注册表应用实例

1.自动刷新

每次在窗口添加一个文件夹或删除一个对象后,须要按键对窗口进行重新刷新,很麻烦。通过修改注册表可以达到自动刷新的目的。点击HKEY_LOCAL_MACHINE\SYSTEM\CURRENTCONTRO LSET\CONTROL\UPDATE,修改 "UPDATE MODE"值,由"1"改为"0"。

2.修改系统版权信息

点击HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\DEVEOPER\SETUP,在其右窗口中保存着安装 Windows98时产生的所有版权信息,用鼠标右键点击这些串值键可以随便修改,这样不须重新安装Windows 98就可修改系统原有的版权信息。

3.加快Windows 98启动速度

Windows98在启动时能自动加载一些程序运行,有的程序放在"开始"菜单中的启动组里,一些重要的、不须用户干涉的系统程序,则存放在注册表中。如果想加快Windows98的启动速度,可以适当地删除这些程序。在启动组中的程序可以通过"任务栏"很方便地删除。如果程序不在启动组中,则须要通过修改注册表来删除。

点击HKEY_LOCAL_MACHINE\MICROSOFT\WINDOWS\CURRENTVERSION\Run,选择右边窗口中出现的开机自启动程序,将之删除即可。

点击HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\RunServices,单击右边窗口中出现的开机自启动程序,将之删除。

Run和RunServices的区别是,Run中的程序是WINDOWS初始化后才运行的,而RunService中的程序是在 *** 作系统启动时就开始运行的,也就是说RunServices中的程序先于Run中的程序运行,如电源管理程序。

4.删除"开始"菜单中的"收藏夹"

"收藏夹"是为了便于访问主页而设计的,对于没上网的用户来说其用处不大,可以删除它。点击HKEY_CURRENT_USER\SOFTWARE\ MICROSOFT\WINDOWS\CURRENTVERSION\POLICIES \EXPLORER,在右边窗口中点击鼠标的右键,然后选择"新建"菜单中的"DWORD"命令,命名为NoFavoritesMenu,并将其值设置为 "1"。 再重新启动电脑。

5.扩充"回收站"的鼠标右键功能

"回收站"是Windows98中的一个系统级桌面图标,由于其鼠标右键菜单功能不够强大,如"回收站"鼠标右键菜单中没有"删除"和"改名"功能,给实际应用带来一定不便,为此我们可以通过修改注册表来为其扩充菜单功能。使用本文前面用过的REGEDIT,打开到HKEY_CLASSES_ROOT \CLSID\{645FF040-5081-101B-9F08-00AA002F954E}\ShellFolder。看到右边名为 Attributes的值是40 01 00 20,这就是关键,如果你是高手的话,就知道每个文件有只读、隐含、系统和文档共四种属性,每种属性有一个具体数字,如果文件具有多种属性,只须将所有数字加起来就行了,这里也是这个道理。下面是第一个字符所表示的意义:

值 鼠标右键的菜单

01 00 00 00 复制

02 00 00 00 剪切

03 00 00 00 复制和剪切

10 00 00 00 重命名

20 00 00 00 删除

30 00 00 00 重命名和删除

40 00 00 00 属性

50 00 00 00 重命名和属性

53 00 00 00 复制、剪切、重命名、属性

60 00 00 00 删除和属性

63 00 00 00 删除、属性、复制、剪切

70 00 00 00 重命名、删除和属性

73 00 00 00 重命名、删除、属性、复制、剪切

6.提高光驱的读写能力

为光驱增加缓存是提高光驱读写速度的一个有效方法,由于Windows98推荐使用四倍速或更高速的光驱访问方式,与目前所流行的光驱不相符合。为了适应当今流行的16倍速以上的光驱,我们可以通过修改注册表来提高光驱缓存的大小和预读取性能,以加快光驱的运行速度,将光驱性能发挥到极限。

点击HKEY_LOCAL_MACHINE\SYSTEM\CURRENTCONTROLSET\CONTROL\FILESYSTEM\CDFS,在该项右边窗口中找到CACHESIZE和PREFETCH两项,如果选择的是Windows 98推荐的四倍速或更高速的光驱访问方式,这两项的值分别是"6B020000"和"E4000000"。这时可以针对光驱的实际使用情况来修改,如果光驱常用于多媒体的播放,可以把CACHESIZE值修改为"D6040000","AC090000"是光驱缓存的最大值。为保证高速光驱始终如一的速度,可以对PREFETCH值进行修改,如8倍速为"C0010000",16倍速为"80030000",24倍速为"40050000",32倍速以上为"00070000"。

注意:如果修改了两个键值导致光驱不能正常工作,如不能正常播放VCD,请降低一个档次的值。

7.禁用 "设置"菜单中的"控制面板"和"打印机"选项

"控制面板"和"打印机"是Windows98系统配置的一个重要组成部分,为了避免让别人随便修改,可以将"设置"菜单中的"控制面板"和"打印机"选项禁用。

打开HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies \explore分支,在右窗格内新建一个DWORD值,"NoSetFolders"然后双击"NoSetFolder"键值,在出现的对话框中的"键值"框内输入1。

经过了以上设置,我们可以禁止普通用户更改"控制面板"与"打印机"了,但这时候用户仍可以通过"活动桌面",对显示属性进行设置。若要禁止用户拥有此功能,请按下述步骤进行设置:打开HKEY_CURRENT_USER\Software\Microsoft\Windows\ CurrentVersion\Policies\System分支。在右窗格内重新建一个DWORD值"NoDispCPL",然后双击 "NoDispCPL"键值,在d出的对话框内的"键值"框内输入1。

8.提高软盘驱动器的读写速度

在机器所配置的驱动器中,恐怕软盘驱动器的读写速度最慢,除了由物理方面的性质所决定之外,也跟Windows98系统采用默认FIFO来管理软盘驱动器,使之不具备后台存储管理功能有关,因此可以通过修改注册表来优化软盘驱动器的性能。

点击HKEY_LOCAL_MACHINE\SYSTEM\CURRENTCONTROLSET\SERVICES\CLASS\FDC\0000,在该项右边窗口的空白处,单击鼠标右键选择"新建"菜单中的"DWORD值"命令,命名为"ForeFifo",修改值为"0"。

9.扩充鼠标的右键功能,增加"快速启动"和"关闭系统"

在Windows98系统中,鼠标的右键功能虽然很强但还不够完善,这里我们为其增加"快速启动"和"关闭系统"的两个选项,来完善鼠标的右键功能。

点击HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\DIRECTORY\SHELL,用鼠标右键单击SHELL,选择"新建"菜单中的"主键"命令,命名为"快速启动系统",修改默认值为"快速启动系统"。

点击HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\DIRECTORY\SHELL\快速启动系统,用鼠标右键单击"快速启动系统",选择"新建"菜单中的"主键"命令,命名为"COMMAND",修改默认值为"C:\WINDOWS\RUND LL.EXE USER.EXE,EXITWINDOW说什么EC"。

点击HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\DIRECTORY\SHELL,用鼠标右键单击SHELL,选择"新建"菜单中的"主键"命令,命名为"快速关闭电脑",修改默认值为"快速关闭电脑"。

点击HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\DIRECTORY\SHELL\快速关闭电脑,用鼠标右键单击"快速关闭电脑",选择"新建"菜单中的"主键"命令,命名为"COMMAND",修改默认值为"C:\WINDOWS\RUND LL.EXE USER.EXE,EXITWINDOWS"。

10.无用的登录

对单机用户而言,开始功能表中的登录实在是一个没有用的东西,但是又不知道如何删除。现在有方法了,照着下列步骤,就能把那碍眼的选项消除了。打开注册表编辑器(Regedit.exe),找到下列关键字:HKEY_CURRENT_USER\Software\Microsoft\Windows\ Current-Version\Policies\Explorer接者选择编辑/新增/二进制值,把名字取为NoLogOff,按下Enter,再输入01 00 00 00 这组新数值 ,按下确定,重新开机后就看不到那讨厌的东西了。

11.快速打开文件编辑

也许你经常使用某个程序来打开文件进行编辑,而这些文件的扩展名是随意的,为了方便我们可以将这个程序加入到右键菜单中去。以写字板为例,在 HKEY_CLASSES_ROOT\*下新建"shell"子键,在其下新建"wordpad"子键,双击该键右面窗口的"默认"处并在"键值"栏内输入"写字板",接着在"wordpad"子键下建立下一级子键"command",在"默认"的"键值"栏内输入"c:\program files\accessories\wordpad.exe %1"。不用重启系统,现在回到"我的电脑"或 "资源管理器"中右键单击任意文件(当然是写字板能加载的,不管关联与否),选"写字板"即可快速打开文件进行编辑了。

12.取消Windows 98平滑模拟过程

当你点击任务栏上的某个应用程序时,窗口恢复到桌面上;当最小化窗口时,窗口缩小到任务栏上。这时窗口的变化都有一个显示的变化过程,如果你不喜欢这种显示过程的处理方式,也可以使这种视觉效果失效,选中HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics,右键单击视窗右栏,出新建,选字符串值,命名为MinAnimate,双击这个字符串值,出现编辑栏,设定值=0,重新开机Win98(如设定为1就复原)。

13.对某一文件夹打开一个窗口

执行 Regedit,选中HKEY_LOCAL_MACHINE\SOFTWARE\Class-es\Directory\shell,右键单击视窗右栏,建立主键,命名为openw,设定Default value为在新窗口中打开,在openw底下再建立一个主键,命名为command,缺省值设定为 explorer.exe %1;对准一文件夹单击右键吧!可以选择在新窗口中打开喔!

14.修改BMP的图标

在显示文件清单时,一般的BMP文件,也就是画图文件,电脑会出现一致的图标符号。如果将这个符号改成与文件内容相符的缩小图标,岂不是一件赏心悦目的事?简单的对regedit进行修改就可以做到。运行RegEdit,打开HKEY_CLASSES_ROOT\.BMP主键,找到默认值(例如 Paint.Picture);再找到HKEY_CLASSES_ROOT\Paint.Picture,打开或创建新键DefaultIcon,将其值改为%1。

重新启动后,在“我的电脑”中打开Windows目录,选择“大图标”,然后你看到的Bmp文件的图标再也不是千篇一律的MSPAINT图标了,而是每个Bmp文件的略图。

15.特殊文件夹

可将控制面板或其它特殊文件夹的内容放入到开始菜单或任意一个文件夹中,先在文件菜单中单击新建,单击文件夹,然后按如下所示粘贴适当的名称:

控制面板 Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}

拨号网络 Dial Up Net.{922CFFA0-F557-101A-88EC-00DD010CCC48}

打印机 Printers.{2227A280-3AEA-1069-A2DE-08002B30309D}

16.如何快速关机

有的计算机的Windows 98关机特别慢,在选择完关闭计算机后会等上好几分钟才关机,打开我的电脑\HKEY_LOCAL_MACHINE\System\Courrent-ControlSet\Control\Shutdown,在文件夹 下创建一个名为FastReboot 的字符串键,输入键值为1,你就可以享受快速关机了。

17.为特定的应用程序增加声音效果

在注册表编辑器中,打开 HKEY_CURRENT_USER\APPEVENTS\SCHEMES\APPS。

右击APPS,选择新建主键,键名是你要增加声效的应用程序名,如你看到其它的那样,然后右击刚建的主键,再建主键。键名可为:AppGPFault ;Close ;Maximize;MenuCommand;MenuPopup;Minimize;Open;RestoreDown;RestoreUp; SystemAsterisk;SystemExclamationSystemHand;SystemQuestion,然后关闭编辑器,回到控制面板 /声音。你会发现想增加声效的程序的标签,这时你可将其连接到喜欢的音乐上。

18.隐藏桌面上的所有图标

打开到:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\ Policies\Explorer,在右边空白处单击鼠标右键,选择"新建"的"DWORD",然后输入名字为"NoDesktop",再双击它,修改 NoDesktop为1表示生效,即没有桌面,0 则相反。重新启动电脑后,你会发 现桌面已变得空荡荡一片。

19.删除桌面上的"系统级"图标

当你想删除桌面上的回收站、收件箱、网上邻居的图标时,这三个图标不能直接用 SHIFT+DEL删除。但按下述步骤,可以很容易地DEL它们。运行注册表编辑器REGEDIT.EXE,打开 HKEY_LOCAL_MACHINE\SOFTWARE\MICRO-SOFT\WINDOWS\CURRENTVERSION\ EXPLORER\ DESKTOP \NAMESPACE, 单击 NameSpace 旁的+号将出现几个数字域,(此时+ 变成-号,若此时为“-”时勿需此步)单击其中你想DEL的任何一个,按DEL键,它就会从桌面消 失。

20.扩展回收站菜单

运行RegEdit,在HKEY_CLASSES_ROOT \CLSID \{645FF040-5081-101B-9F08-00AA002F954E} \ShellFolder中,在右边的板块中双击单词Attributes,将其数据由40 0100 20改为70 01 00 20。退出编辑器,右击回收站,是不是菜单中添加了删除、重命名及其它选项。

21.增加命令到回收站的菜单中

打开注册表:HKEY_CLASSES_ROOT\CLSID\{645FF040-5081-101B-9F08-00AA002F954E} \Shell,如果没有发现Shell,就增加一个,在Shell中增加一个新主键,名称为要在菜单中出现内容。如DOS方式,在新主键下增加一个 Command键,设置Command键的(Default)内容为要启动的命令或文件。如:C:\COMMAND.COM。关闭注册表,马上在回收站图标上按右键,就会发现多了一项菜单!

22.让Windows 启动时自动执行某一程式

此一问题比较普通的解决方法是在[开始/程序/启动]文件夹中放置程序的快捷方式,若用此一方法, 则使用者仍然可以在开机时按住 Shift, 让Windows 忽略[启动]文件夹中的程序,也就是不行。 是不是有什么方法可以让程序一定执行呢?

答案是把程序的注册码(Registry)放在以下的SubKey:HKey_Local_Machine\SOFTWARE\Microsoft\ Windows\CurrentVersion\Run举例说,如果如以下 value,则 Notepad 程序在 Windows 启动时被执行:

value名称 键value值记事本 Notepad填写时,[value值]的部分可以是完整程序名,但如果添入程序名(未含完整路径),则执行程序必须位于Windows的目录里或 Windows的System目录下、当前工作目录或PATH环境变量所定义的目录下,Windows才能加载执行,以Notepad.exe程序为例,由于是位于Windows的目录下,所以只要程序名即可。至於[value名称]的部分则没什么限制,只要不与其他value名称相冲突即可。

23.右击开始菜单关闭计算机

关闭机器是日常使用频率最高的 *** 作之一,下面的设置可以简化关机过程:打开HKEY_CLASSES_ROOT\Directory\shell,选择编辑/新建主键,命名为Close,双击Close子键窗口右面的默认处并在键值栏内输入关闭计算机,它就是在右键快捷菜单中出现的提示信息,如省略此项将在右键菜单中显示主键名称Close,用&隔开可定义快捷键,然后再在Close下建立下一级子键Command,双击该子键窗口右面的默认处并在键值栏内输入Rundll32.exe User.exe,ExitWindows字符串。 不用重启系统,直接右击开始菜单选关闭计算机就可关闭您的机器。

24.提高菜单的显示速度

点击“开始”“运行”,再输入RegEdit,运行注册表编辑器,打开:HKEY_CURRENT_USER\Control Panel\Desktop,从“编辑”菜单中选“新建”串值,串值名取MenuShowDelay,回车,再双击MenuShowDelay,改动MenuShowDelay的数字就可调节速度,范围是1-2000,默认是400,数字越小越快,如果改为65535就表示要按键才显


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11742005.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存