[ 用户登陆 ] [ 免费注册 

公共分类
我的资料
网上资源
企业信息
工具软件
网址收藏
学习资料
股票信息
博客日记

其他分类

如何禁用ctrl+c及如何定义快捷键
Admin . 2007/5/7 22:22:25
方法一:


写一个名为 AutoKeys 的宏
1、首先要创建一个名为AutoKeys 的宏。
2、在“宏名”列中利用想使之无效的键的SendKeys 代码指定一个宏名。
3、增加SendKeys操作并使“键击”参数保持为空。
以后打开数据库时,自动执行AutoKeys 宏,只要数据库保持打开,AutoKeys宏将始终有效。
举例来说:
使 F1 键无效,在“宏名”列中输入{F1},在“操作”列中选择 SendKeys ,并使 SendKeys 操作的“键击”参数为空即可。
使 Ctrl + F6 无效,方法相同,在“宏名”列中 输入^{F6}在“操作”列中选择 SendKeys ,并使 SendKeys 操作的“键击”参数为空即可。


那么问题2:如何定义一个我自己的快捷键? 如何解决哪?
对了,既然可以通过定义空的参数来使某个快捷键失效,当然可以通过定义有效的参数来完成特定的程序拉,这不就成了自定义快捷键了吗?



参考::


以下为 MS 帮助
将操作或操作集指派给某个键
可以创建一个 AutoKeys 宏组,将一个操作或一组操作指派给某个特定的键或组合键。这样,当按下指定的键或组合键时,Microsoft Access 就会执行相应的操作。如果指派给某个操作的组合键已经由 Access 使用(例如,Ctrl+C 是“复制”的组合键),则新指派给该组合键的操作将取代 Access 的键分配。  
在“数据库”窗口中,单击“对象”下的“宏”  。
单击“新建”。
单击工具栏上的“宏名”  。
在“宏名”列中键入要为一个操作或一组操作指派的键或组合键。
AutoKeys 组合键的语法
下表显示可以用来在 AutoKeys 宏组中指派键的组合键。这些组合键是用于 Microsoft Visual Basic 中的 SendKeys 语句的语法的子集。
SendKeys 语法 键组合
^A 或 ^4 Ctrl+A 或 Ctrl+4
{F1} F1
^{F1} Ctrl+F1
+{F1} Shift+F1
{INSERT} Ins
^{INSERT} Ctrl+Ins  
+{INSERT} Shift+Ins
{DELETE} 或 {DEL} Del
^{DELETE} 或 ^{DEL} Ctrl+Del
+{DELETE} 或 +{DEL} Shift+Del

添加需要键或组合键执行的单个操作或一组操作。例如,添加一个 RunMacro 操作,使得在按下 Ctrl+P 时执行 Print Current Record 宏。


重复第 4 步和第 5 步以进行其他键的指派。
以 AutoKeys 为名称保存宏组。
在保存宏组后,每次打开数据库时,新的键分配就会生效。




方法二:


下面提供一个用api定义热键的方法,稍一修改让执行的代码为空,就可以达到使某个快捷键失效的目的:

《如何为你的应用程序设置热键?》
启动工程后,在你的工程中添加一个标准模块,然后将下面的代码粘贴到模块的声明段中。
Option Explicit
Declare Function SendMessage Lib "user32" _
Alias "SendMessageA" (ByVal hwnd As Long, _
ByVal wMsg As Long, ByVal wParam As Long, _
lParam As Long) As Long
Declare Function DefWindowProc Lib "user32" _
Alias "DefWindowProcA" (ByVal hwnd As Long, _
ByVal wMsg As Long, ByVal wParam As Long, _
ByVal lParam As Long) As Long
Public Const WM_SETHOTKEY = &H32
Public Const WM_SHOWWINDOW = &H18
Public Const HK_SHIFTA = &H141 'Shift + A
Public Const HK_SHIFTB = &H142 'Shift * B
Public Const HK_CONTROLA = &H241 'Control + A
Public Const HK_ALTZ = &H45A

请注意组合键的值必须以低/高位字节的格式进行声明。也就是说是一个十六进制的数字。后两位是低端字节,如41=a;前两位是高端字节,如01=1=shift。

在窗体的Load事件中加入下面的代码:
Private Sub Form_Load()
Dim erg As Long
Me.WindowState = vbMinimized
'让windows知道你想要的热键。
erg = SendMessage(Me.hwnd, WM_SETHOTKEY,HK_ALTZ, 0)
'检查函数是否执行成功
If erg <> 1 Then
MsgBox "You need another hotkey", vbOKOnly,"Error"
End If
'告诉windows热键按下后做什么--显示窗口
erg = DefWindowProc(Me.hwnd, WM_SHOWWINDOW,0, 0)
End Sub

按F5运行程序后,再按下ALT+Z就会看到结果了。

 网址: http://www.accessoft.com/Article_Show.asp?ArticleID=507 


最近后的内容
联想:三分之一的副总来自应届生
联想裁员1400
SQL Server 2000 SP4 32/64
ADRIEN ARPEL BRAND CLEANER
品牌化妆品网站
国外知名植物护肤品牌
乔布斯成为美国“打工皇帝”
从空气中俘获二氧化碳
开源机器人
屏幕录制的新星 MiniCapture
最近前的内容
用sql语句判断表的存在
如何禁用SHIFT键打开MDB/MDE文件
用代码创建 DSN(SQL Server ODBC)
将15的身份证号升码为18位的函数
使用 Access 2003 对象模型的 XML 功能
VB获取文件夹名称的函数
远程连接access数据库的方法
SQL SERVER 与ACCESS、EXCEL的数据转换
Microsoft SQL Server数据库文件恢复技术
品味SQL Server 2005的几个新功能
最受欢迎
FoxPro梅子数据库编程技术论坛
左氧氟沙星
佛山公共汽车(巴士)线路
佛山社保公共查询系统
51地图:下载桌面地图2007
DOS下的NTFS启动盘 NTFSDOSPro5
国际时间表与北京时间对照表
windows 2003 64位版本语言包微软官方下载(包括简体中文)
江西高速公路规划图
建设银行佛山市分行各营业点名称及地址
佛山市车辆违章查询和处理方法
中国电话区号
Bird
索爱最新管理软件PCSuite1.10.71
成龙电影全集
做馒头的方法
Vfp Grid ManyHeader 2.0
trading net
讯雷在线
如何给宝宝取名----男孩起名方法
 ©2005 - 2008 粤ICP备12037054号-1 用户登陆  |  互联说明  |  联系我们  |  网站地图