Foxtable(狐表)用户栏目专家坐堂 → 程序最小化托盘后如何使用快捷键


  共有3063人关注过本帖树形打印复制链接

主题:程序最小化托盘后如何使用快捷键

帅哥哟,离线,有人找我吗?
freeants
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:572 积分:3771 威望:0 精华:0 注册:2014/5/8 13:41:00
程序最小化托盘后如何使用快捷键  发帖心情 Post By:2014/8/12 9:48:00 [只看该作者]

在程序运行时候, 我可以使用快捷键 ,菜单设置的 快捷键, 但是把程序最小化到 托盘后 就不使用, 是否有办法呢

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/12 9:49:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/8/12 9:50:00 [只看该作者]

把最小化到托盘写到菜单Click即可


 回到顶部
客人(49.76.*.*)
  4楼


  发帖心情 Post By:2014/8/12 10:16:00 [只看该作者]

Dim obj As GlobalKeyDown = GlobalKeyDown.getInstance
RegisterHotKey(obj.Handle, 102, KeyModifiers.Control Or KeyModifiers.Alt, Keys.Y) ' 快捷键ctrl+alt+y   

写不进全局代码

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/12 10:18:00 [只看该作者]

  你要拷贝全局代码到你的项目中去,然后拷贝内部函数的代码,然后才能用。

 

  例子给你了,你要善于运用。

[此贴子已经被作者于2014-8-12 10:18:28编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
freeants
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:572 积分:3771 威望:0 精华:0 注册:2014/5/8 13:41:00
  发帖心情 Post By:2014/8/12 10:20:00 [只看该作者]

'==================设置快捷键==============================

<DllImport("user32.dll", SetLastError := True)> _
Public Function RegisterHotKey(hWnd As IntPtr, id As Integer, fsModifiers As KeyModifiers, vk As Keys) As Boolean

End Function

<DllImport("user32.dll", SetLastError := True)> _
Public Function UnregisterHotKey(hWnd As IntPtr, id As Integer) As Boolean

End Function


<Flags> _
Public Enum KeyModifiers
None = 0
Alt = 1
Control = 2
Shift = 4
Windows = 8
End Enum


Public Class GlobalKeyDown
Inherits System.Windows.Forms.form

private shared obj As new GlobalKeyDown

private Sub New()
End Sub

Public Shared Function getInstance() As GlobalKeyDown
    Return obj
End Function

Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
Functions.Execute("处理快捷键", m)
MyBase.WndProc(m)
End Sub

End Class

Dim obj As GlobalKeyDown = GlobalKeyDown.getInstance
RegisterHotKey(obj.Handle, 102, KeyModifiers.Control Or KeyModifiers.Alt, Keys.Y) ' 快捷键ctrl+alt+y

 回到顶部
帅哥哟,离线,有人找我吗?
freeants
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:572 积分:3771 威望:0 精华:0 注册:2014/5/8 13:41:00
  发帖心情 Post By:2014/8/12 10:20:00 [只看该作者]

放到 全局变量里面了

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/12 10:25:00 [只看该作者]

 你能参考例子是怎么写的吗?下面这段,写到AfterOpenProject

 

Dim obj As GlobalKeyDown = GlobalKeyDown.getInstance
RegisterHotKey(obj.Handle, 102, KeyModifiers.Control Or KeyModifiers.Alt, Keys.Y) ' 快捷键ctrl+alt+y

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/12 10:26:00 [只看该作者]

 且,内部函数你也要拷贝设置一下。


 回到顶部
帅哥哟,离线,有人找我吗?
freeants
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:572 积分:3771 威望:0 精华:0 注册:2014/5/8 13:41:00
  发帖心情 Post By:2014/8/12 10:58:00 [只看该作者]

多谢 ,VB 里面的函数 太复杂了, 只能依葫芦画瓢了

全局代码 里面 这句 

Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
Functions.Execute("处理快捷键", m)
MyBase.WndProc(m)
End Sub

内部函数 已经处理 但是 我不是需要显示对话框, 我要用外部程序,FOXTABLE 里面的代码如下,修改后无法运行, 请帮我看下 如何修改  全局代码  以及 内部函数
Dim m As object = args(0)
Select Case m.WParam
    Case 100
        
    Case 101
        
    Case 102
        
        Dim Proc As New Process '定义一个新的Process
        baseMainform.visible=False     最小化
        Proc.File = ProjectPath & "Attachments\screencapture.exe" '指定要打开的文件
        Proc.WaitForClose=True '直到关闭外部程序,才会执行接下来的代码
        Proc.Start()
End Select
 

 回到顶部
总数 18 1 2 下一页