SetWindowPos导致c#代码崩溃

时间:2015-06-18 14:45:49

标签: java c# wpf windows interop

我正在我的c#wpf客户端代码中执行SetWindowPos方法,该代码在其中一个选项卡中集成了java应用程序。虽然它对其他.net控件运行良好,但是当我传递java app的句柄时它会失败。

下面是崩溃的行。在崩溃的时候我可以看到背景中的javaapp的内容是一个" app没有响应"对话框来了,然后我的wpf应用程序最终崩溃了。对象句柄获取窗口的正确值。

SetWindowPos(handle, HWND_TOP, rect.X, rect.Y, rect.Width, rect.Height, SWP_NOZORDER | SWP_NOACTIVATE );

我尝试在下面使用(只有更改是SWP_NOSIZE),这次它没有崩溃,但它没有显示java客户端窗口的内容。

SetWindowPos(handle, HWND_TOP, rect.X, rect.Y, rect.Width, rect.Height, SWP_NOZORDER | SWP_NOACTIVATE | SWP_NOSIZE);

任何人都面临类似的问题,有没有办法解决这个问题?

我的系统是64位操作系统,我的wpf应用程序是一个有点进程的应用程序。我的系统安装了64位java,安装了accessbridge2_0_2。

从我的事件查看器添加了崩溃详细信息:

 Fault bucket 120266198386, type 4
 Event Name: APPCRASH
 Response: Not available
 Cab Id: 0
 Problem signature:
 P1: mywpfapp.exe
 P2: 1.3.0.191
 P3: 558281c8
 P4: windowsaccessbridge-64.dll
 P5: 2.0.6.0
 P6: 4dac90f0
 P7: c000041d
 P8: 00000000000082b2
 P9: 

P10:

0 个答案:

没有答案