作者anagan ( )
看板Visual_Basic
标题[.NET] SendMessage 讯息进不去另一个classs的 sub WndProc
时间Mon Mar 7 16:05:49 2011
请输入专案类型(网站专案或者应用程式专案):应用程式专案
在一个专案中,一个Class传送讯系如下,想要让Form Class做一些动作
并变更画面栏位值,不过发生讯息常常进不去的状况
还请各位先进指点
=========function class===========
<DllImport("user32.dll", SetLastError:=True, EntryPoint:="SendMessage")> _
Public Shared Function SendMessage(ByVal hwnd As IntPtr, ByVal wMsg As
Integer, ByVal wParam As Integer, ByVal lParam As Integer) As IntPtr
End Function
sub send()
Dim vProcess As Process = Process.GetCurrentProcess()
Dim vcpd As New CopyDataStruct
Dim vadd = Marshal.AllocCoTaskMem(Marshal.SizeOf(vcpd))
SendMessage(vProcess.MainWindowHandle, WM_COPYDATA, 2, CInt(vadd))
Marshal.FreeCoTaskMem(vadd)
end sub
============Form Class=============
Protected Overrides Sub WndProc(ByRef msg As Message)
Select Case msg.Msg
Case WM_COPYDATA
dofunction()
End Select
MyBase.WndProc(msg)
End Sub
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 60.249.163.125
2F:→ anagan:找不出原因 放弃 改用Delegate来做 03/10 09:51