首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

VB6.0中的Me.hwnd在VS2010里如何实现

2013-01-06 
求教:VB6.0中的Me.hwnd在VS2010里怎么实现?如题刚开始接触编程,什么都不懂,还请多多指教。要求,或者说目的:

求教:VB6.0中的Me.hwnd在VS2010里怎么实现?
如题
刚开始接触编程,什么都不懂,还请多多指教。

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


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

因为代码太长,不能发上来,也不记得是在哪里下载的了,就发一下它的版本说明吧,在网上搜一下应该能搜到。
'*************************************************************************
'**模 块 名:cHotKey
'**说    明:全局热键类,参考老外代码思路,添加了热键管理代码,使之更方便使用.
'**创 建 人:嗷嗷叫的老马
'**日    期:2006年07月19日
'**备    注: 紫水晶工作室 版权所有
'**          更多模块/类模块请访问我站:  http://www.m5home.com
'**日    期: 2008年09月30日
'**修 改 人: 嗷嗷叫的老马
'**备    注: 修正清除所有热键时的一个逻辑错误.
'**版    本:V1.0
'*************************************************************************
[解决办法]
Me.Handle.ToInt32
[解决办法]
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



[解决办法]
Me.Handle

热点排行