无形VB.Net - 覆盖模块中的Sub?

问题描述 投票:0回答:1

我编写了一个WindowsFormApplication,它通过Windows消息处理基本的更新过程和USB检测,这就是问题所在。在一个形式中,像我这样的“受保护的覆盖子WndProc”是没有问题的:

Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
        ' >>>>Process USB Insertion<<<<
        If m.Msg = WM_DEVICECHANGE Then
            If CInt(m.WParam) = DBT_DEVICEARRIVAL Then
                Dim DeviceInfo As DEV_BROADCAST_HDR
                DeviceInfo = DirectCast(Marshal.PtrToStructure(m.LParam, GetType(DEV_BROADCAST_HDR)), DEV_BROADCAST_HDR)
                If DeviceInfo.dbch_devicetype = DBT_DEVTYP_VOLUME Then
                    Dim Volume As DEV_BROADCAST_VOLUME
                    Volume = DirectCast(Marshal.PtrToStructure(m.LParam, GetType(DEV_BROADCAST_VOLUME)), DEV_BROADCAST_VOLUME)
                    Driveletter = (GetDriveLetterFromMask(Volume.dbcv_unitmask) & ":\")

有没有办法在模块中包含它,以便我可以构建一个无形的应用程序?

提前致谢!

vb.net module override
1个回答
0
投票

我不认为这是可能的。 System.Windows.Forms.NativeWindow类是窗口的基类。使用此类,您可以使用名为AssignHandle的函数,该函数接受一个参数,即对象的HWND(控件)。而且你必须覆盖一个名为WndProc的方法。所以,没有表格就没有WndProc。

© www.soinside.com 2019 - 2024. All rights reserved.