我的问题如下:
为了接受另一个应用程序的数据,我用了Setwindowlong,但是我发现我除了接受到想到的数据之外,还接受到了一些无用的消息。这导致了我的Form一直处于工作状态,CPU占用100%,而且Form没有响应。表现为Form的外观都无法看到,只看到几块白的,无法实现该Form的其他人机交互功能。请教如何解决?是否该使用线程?
为了接受另一个应用程序的数据,我用了Setwindowlong,但是我发现我除了接受到想到的数据之外,还接受到了一些无用的消息。这导致了我的Form一直处于工作状态,CPU占用100%,而且Form没有响应。表现为Form的外观都无法看到,只看到几块白的,无法实现该Form的其他人机交互功能。请教如何解决?是否该使用线程?
{
MyWindowsCallbackFunction = new WindowsCallbackFunction(WindowProc); Global.lpPrevWndProc = SetWindowLong(Handle, GWL_WNDPROC, Marshal.GetFunctionPointerForDelegate(MyWindowsCallbackFunction));
}
public static void InitReciveForm(IntPtr frmhandle)
{
//2 注册窗口
handle = LoadLibrary("STOCK.DLL");
IntPtr address = GetProcAddress(handle, "Stock_Init");
Stock_Init stockinit = (Stock_Init)Marshal.GetDelegateForFunctionPointer(address, typeof(Stock_Init));
stockinit(frmhandle.ToInt32(), 0x8001, 4);
}public void StartRecive(IntPtr handle)
{
//注册窗口
InitReciveForm(handle); //Hook
SetHooK(handle);
}
请帮我看看哪有问题?
为什么不用dllimport