'模块声明 :

' 模块声明
Option Explicit

Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hwnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Declare Function RegisterHotKey Lib "user32" (ByVal hwnd As Long, ByVal id As Long, ByVal fsModifiers As Long, ByVal vk As Long) As Long
Declare Function UnregisterHotKey Lib "user32" (ByVal hwnd As Long, ByVal id As Long) As Long

Public Const WM_HOTKEY = &H312
Public Const MOD_ALT = &H1
Public Const MOD_CONTROL = &H2
Public Const MOD_SHIFT = &H4
Public Const GWL_WNDPROC = (-4)

Public preWinProc As Long
Public Modifiers As Long, uVirtKey As Long, idHotKey As Long

Private Type taLong
    ll As Long
End Type
Private Type t2Int
    lWord As Integer
    hword As Integer
End Type
Public Function wndproc(ByVal hwnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
    If Msg = WM_HOTKEY Then
        If wParam = idHotKey Then
            Dim lp As taLong, i2 As t2Int
            lp.ll = lParam
            LSet i2 = lp
            If (i2.lWord = Modifiers) And i2.hword = uVirtKey Then
                'Debug.Print "HotKey Shift-Alt-G Pressed "
                Form1.WindowState = 0
            End If
        End If
    End If
    wndproc = CallWindowProc(preWinProc, hwnd, Msg, wParam, lParam)
End Function

窗体代码:

'窗体代码
Option Explicit

Sub Form_Load()
    Dim ret As Long
    preWinProc = GetWindowLong(Me.hwnd, GWL_WNDPROC)
    ret = SetWindowLong(Me.hwnd, GWL_WNDPROC, AddressOf wndproc)
    idHotKey = 1
    uVirtKey = vbKeyF11 '
    ret = RegisterHotKey(Me.hwnd, idHotKey, Modifiers, uVirtKey)
End Sub

Private Sub Form_Unload(Cancel As Integer)
    Dim ret As Long

ret = SetWindowLong(Me.hwnd, GWL_WNDPROC, preWinProc)
    Call UnregisterHotKey(Me.hwnd, uVirtKey)
End Sub

摘自:网络整理


VB部分相关文章推荐:


☆VB6 中善用ByRef 提升速度

☆[vb] Set 语句

☆VB_Format自定义格式

☆用VB如读取内存地址

☆vb FindwindowEx的用法实例

☆进制转化进10进制数

☆收藏:如何获取当前已经打开的IE对象(VB6代码)

☆DXInput中键码的转换(VB6.0代码)

☆如何在VB6.0里动态使用具有事件的对象

☆[vb]格式输出Format函数

☆读取和写入Windows的INI文件

☆简述UTF-8编码原理及其文本文件的读写技术【转】

☆VB中的文件操作

☆VB中的文件操作文档

☆vb 中拷贝文件

☆VB反跟踪技术点滴

☆VB共享软件防破解设计技术初探(二)

☆VB共享软件防破解设计技术初探(三)

☆VB共享软件防破解设计技术初探(一)

☆RTF文件格式【转】

☆VB压缩技术

☆[vb]FSO对象模型在VB中的应用

☆VB 窗体实现文件拖拽获取路径方法

☆VB:注册表的读写

☆vb中空操作(等待)的指令、延时方法

☆VB让控件可以当标题栏拖动

☆FSO对象新建、打开、保存文件

☆获取网关IP和MAC 的VB源码

☆VB文件关联

☆vb获得本地和远程的MAC地址(网卡地址)

☆VB中ShellExeCute的应用

☆VB打开网址方法大全

☆vb简单控制音量大小及静音的方法

☆拖动无边框窗体(VB6代码)

☆VB使用FileSystemObject对象写文件

☆VB 从注册表中删除项及其某个值

☆vb 字符串转为数字和判断字符串是否是数字字符串【转】

☆vb按热键启动应用程序

☆VB的坐标系统综述

☆VB利用API函数来处理文件

☆关于VB中Shell及ShellExecute的总结与记录

☆[vb]On Error GoTo 0和On Error resume区别

☆[vb]On Error 语句

☆记录一下:在菜单上添加自绘图形的例子(VB6代码)

☆vb中findwindow的疑惑

☆[vb]FindWindow使用方法

☆常用文件类[转,无法运行通,待调试]

☆[vb]url utf-8编码

☆VB中的Unicode 和Ansi 格式

☆VB中的format格式化函数

☆VB中字符串匹配的多种方式

☆VB抓图

☆谈vb目录文件操作的三种方法-2

☆谈vb目录文件操作的三种方法-1

☆vb使用open方法读写文件

☆VB的MD5加密模块

☆VB 超简单的屏幕截图代码

☆vb以类名或窗口标题查找句柄并关闭

☆VB将配置保存到EXE本身(生成EXE木马程序)

☆VB 调用腾讯截图控件CameraDLL.dll

☆在VB6.0中怎么实现escape和unescape

☆vb求任意两线交点

☆VB中调用Windows API的注意事项[VB知识库]

☆VB 一个获得自己外网IP 地址的程序代码

☆VB程序中实现IP地址子网掩码网关DNS的更改[转]

☆在VB 中应用FSO 对象模型介绍(摘自网络)

☆[转] Vb中FSO 对象的介绍

☆VB 画坐标轴

☆VB 二进制文件的操作

☆[VB]BMP转JPG

☆VB中KeyCode常数用法

☆vb实时曲线的绘制和保存


更多精彩>>>

vb按热键启动应用程序相关推荐

  1. 程序代码初学者_初学者:如何使用热键在Windows中启动任何程序

    程序代码初学者 Assigning shortcut keys to launch programs in Windows is probably one of the oldest geek tri ...

  2. 计算机启动应用程序的方法,excel的程序_Excel2010中启动应用程序的三种方法

    使用Excel时,需要先启动应用程序,怎么去进行操作启动它?今天,学习啦小编就教大家在Excel2010中启动应用程序的三种方法. Excel2010中启动应用程序的三种步骤如下: 1.开始菜单 在桌 ...

  3. VB 全局热键HOOK (不占系统资源版本)

    VB 全局热键HOOK (不占系统资源版本) 看过网上很多的全局热键的写法,几乎都用 do loop 写,很占资源. 这个是占很少资源的 全局热键. Option Explicit Private D ...

  4. vb全局热键的写法(占很少的资源)

    看过网上很多的全局热键的写法,几乎都用 do loop 写,很占资源. 这个是占很少资源的 全局热键. -----------在窗体------------------- 程序代码: Private  ...

  5. 最绿色最高效,用win+r启动常用程序和文档

    最绿色最高效,用win+r启动常用程序和文档 作者: 善用佳软 日期: 2010-10-01 分类: 系统工具 标签: quick-launch 真正的高手,是普通招式发挥出大威力,是根据情况选用最合 ...

  6. 用win+r启动常用程序和文档【最绿色最高效】

    真正的高手,是普通招式发挥出大威力,是根据情况选用最合适的招法,是从繁芜的武学中跳得出来.软件之道亦然.固然要选佳软,但更须善用.软件再好, 也是开发者之功:而运用之妙存乎一心,才是属于用户.在快速启 ...

  7. linux启动java jar文件_推荐:Linux启动Java程序jar包Shell脚本

    #!/bin/sh# 该脚本为Linux下启动java程序的脚本## author: luandy# date: 2021/1/15## 特别注意:# 该脚本使用系统kill命令来强制终止指定的jav ...

  8. Android之如何获取手机程序列表以及程序相关信息并启动指定程序

    效果图: 程序列表: 启动程序,获取程序信息: 代码如下: 创建一个AppInfo类来表示应用程序 <pre name="code" class="java&quo ...

  9. 无法启动此程序,因为计算机中丢失 MSVCP120.dll。尝试安装该程序以解决此问题

    无法启动此程序,因为计算机中丢失 MSVCP120.dll.尝试安装该程序以解决此问题 参考文章: (1)无法启动此程序,因为计算机中丢失 MSVCP120.dll.尝试安装该程序以解决此问题 (2) ...

最新文章

  1. IntelliJ IDEA 添加本地xsd文件
  2. 【采用】无监督学习在反欺诈中的应用
  3. html和xhtml和html5一些区别和笔记
  4. 腾讯AI Lab联合清华,港中文长文解析图深度学习的历史、最新进展到应用
  5. 方法重载,new,override
  6. OnIntialDialog() (Dialog应用)和 OnIntialUpdate(View应用)的 程序起始点
  7. pmp 成本估算准确高_如何更准确地估算JavaScript中文章的阅读时间
  8. 为什么Siri总是像个智障?智能助手背后的技术到底有多难?
  9. SQL Server2008数据库用户管理 (第三部分)
  10. android通讯录加密,一种手机通讯录加解密方式
  11. Springboot 整合CXF框架
  12. SpaceX的代码开源了,来看看火箭技术的代码.Spacex Rest API设计很有参考价值
  13. Kodi+Alist v3 挂载阿里云盘他人分享链接打造在线影视库
  14. 测试网页版淘宝购物车
  15. 你的睡眠时间和睡眠质量达标了么?
  16. Java 鸡翁一值钱五Java_Java案例5:斐波那契数列,百钱百鸡
  17. 长度短点的uuid_如何压缩UUID长度?
  18. accept4: too many open files; retrying in 1s
  19. python numpy中setdiff1d的用法
  20. 优麒麟 配置java_Ubuntu Kylin 优麒麟 安装部署Pentaho

热门文章

  1. 马化腾谈滴滴;苹果供应商研发柔性玻璃;丁磊谈沉迷手机 | 极客头条
  2. 苹果高通“情变”祸及所有中国 iPhone 用户!
  3. 周鸿祎在人民日报撰文,呼吁推行网络安全大战略
  4. Java开发入门与实战!打印杨辉三角java代码
  5. 点击文本框内容消失,移开内容自动显示(两种方法)(原创)
  6. python 卡方分箱算法_特征工程 - 分箱
  7. java通讯录工程_JAVA通讯录管理小项目
  8. 启动后显示不了数据_90后都买不起房?统计数据显示:90后成了城市租房主力!...
  9. React中useEffect使用
  10. python控件随窗口变化而适配_python pyqt5 设置控件随窗体拉伸