登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

miaozk2006

点滴积累与收藏:关于技术,关于生活

 
 
 

日志

 
 

vb按热键启动应用程序  

2012-07-22 09:50:35|  分类: 编程-VB |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

'模块声明 :

' 模块声明
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函数

读取和写入WindowsINI文件

简述UTF8编码原理及其文本文件的读写技术【转】

VB中的文件操作

VB中的文件操作文档

vb 中拷贝文件

VB反跟踪技术点滴

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

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

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

RTF文件格式【转】

VB压缩技术

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

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

VB:注册表的读写

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

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

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

获取网关IPMAC VB源码

VB文件关联

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

VBShellExeCute的应用

VB打开网址方法大全

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

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

VB使用FileSystemObject对象写文件

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

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

vb按热键启动应用程序

VB的坐标系统综述

VB利用API函数来处理文件

关于VBShellShellExecute的总结与记录

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

[vb]On Error 语句

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

vbfindwindow的疑惑

[vb]FindWindow使用方法

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

[vb]url utf-8编码

VB中的Unicode Ansi 格式

VB中的format格式化函数

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

VB抓图

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

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

vb使用open方法读写文件

VBMD5加密模块

VB 超简单的屏幕截图代码

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

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

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

VB6.0中怎么实现escapeunescape

vb求任意两线交点

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

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

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

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

[] VbFSO 对象的介绍

VB 画坐标轴

VB 二进制文件的操作

[VB]BMPJPG

VBKeyCode常数用法

vb实时曲线的绘制和保存


更多精彩>>>

  评论这张
 
阅读(793)| 评论(0)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018