求教:VB6.0中的Me.hwnd在VS2010里怎么实现?

tory_lee0312 2012-12-10 11:20:40
如题
刚开始接触编程,什么都不懂,还请多多指教。

要求,或者说目的:
要给程序的“开始”按钮注册一个全局热键,我在网上找到一个别人写的类,但他是用6.0写的,其中一个命令要用到程序自身的句柄,在VB6.0里可以用Me.HWnd直接获取到,可在VS2010里这条命令没有了。


求教:
在VS2010中ME.HWND语句的替代语句是什么?或者如何在VS2010中达到所要的目的?麻烦哪位大侠能伸下援手告诉我下呗!

因为代码太长,不能发上来,也不记得是在哪里下载的了,就发一下它的版本说明吧,在网上搜一下应该能搜到。
'*************************************************************************
'**模 块 名:cHotKey
'**说 明:全局热键类,参考老外代码思路,添加了热键管理代码,使之更方便使用.
'**创 建 人:嗷嗷叫的老马
'**日 期:2006年07月19日
'**备 注: 紫水晶工作室 版权所有
'** 更多模块/类模块请访问我站: http://www.m5home.com
'**日 期: 2008年09月30日
'**修 改 人: 嗷嗷叫的老马
'**备 注: 修正清除所有热键时的一个逻辑错误.
'**版 本:V1.0
'*************************************************************************
...全文
351 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
sosoben 2012-12-12
  • 打赏
  • 举报
回复
结贴了的就不能加分了啊,常上CSDN吧,不要做个一闪而过的过客哦
tory_lee0312 2012-12-12
  • 打赏
  • 举报
回复
引用 7 楼 sosoben 的回复:
引用 6 楼 tory_lee0312 的回复:本想每人给20的,但开始设置的总分是20,只能分一下了,再次拜谢各位的帮忙! 你可以加分的 在管理菜单那里 基本的论坛操作都没研究好,编程的路还有很远哦
系统提示,我的权限不够,这次就这样吧,以后有机会给补上。
sosoben 2012-12-12
  • 打赏
  • 举报
回复
引用 6 楼 tory_lee0312 的回复:
本想每人给20的,但开始设置的总分是20,只能分一下了,再次拜谢各位的帮忙!
你可以加分的 在管理菜单那里 基本的论坛操作都没研究好,编程的路还有很远哦
tory_lee0312 2012-12-12
  • 打赏
  • 举报
回复
当然,国人要想自学编程有两个东西是必备的,一个是MSDN,另一个就是CSDN了。
music_0000 2012-12-11
  • 打赏
  • 举报
回复
Me.Handle
tory_lee0312 2012-12-11
  • 打赏
  • 举报
回复
本想每人给20的,但开始设置的总分是20,只能分一下了,再次拜谢各位的帮忙!
tory_lee0312 2012-12-11
  • 打赏
  • 举报
回复
谢谢各位,小弟是个纯粹的新手,多谢指点,我就200分,回答的每人给20分, 可问题来了:怎么把分给你们?
sosoben 2012-12-10
  • 打赏
  • 举报
回复
vb.net 通过

  Public Declare Auto Function RegisterHotKey Lib "user32.dll" Alias _
             "RegisterHotKey" (ByVal hwnd As IntPtr, ByVal id As Integer, ByVal fsModifiers As Integer, ByVal vk As Integer) As Boolean

    Public Declare Auto Function UnRegisterHotKey Lib "user32.dll" Alias _
             "UnregisterHotKey" (ByVal hwnd As IntPtr, ByVal id As Integer) As Boolean

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        '注册全局热键
        'RegisterHotKey(Handle, 0, MOD_CONTROL, Asc("T"))  ' Ctrl+T
        RegisterHotKey(Handle, 0, Nothing, Keys.Add)  '热键 +
    End Sub

    Private Sub Form1_FormClosed(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles MyBase.FormClosed
        '注销全局热键
        UnRegisterHotKey(Handle, 0)
        If SerialPort1.IsOpen Then
            SerialPort1.Close()
        End If
        'UnRegisterHotKey(Handle, 1)
    End Sub

    Protected Overrides Sub WndProc(ByRef m As Message)
        If m.Msg = WM_HOTKEY Then
            'MsgBox("在这里添加你要执行的代码", MsgBoxStyle.Information, "全局热键")
                   End If
        MyBase.WndProc(m)
    End Sub
沐NeMo 2012-12-10
  • 打赏
  • 举报
回复
l#
51Crack 2012-12-10
  • 打赏
  • 举报
回复
Me.Handle.ToInt32

16,721

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧