[英]Embed a 3rd party AIR program inside a c# form
我一直在寻找一种在可视化C#表单中嵌入AIR独立-单一表单空气程序的方法。
我不需要与它进行任何通信,我只需要使其“卡在”表单的某个区域中即可,以便它随我移动并在我执行操作时调整大小。 (即:我的表单需要控制其处理程序,对吗?)
我尝试使用user32.dll库中的SetParent,但它不能使用它(尽管它可以与notepad.exe一起使用,所以代码是正确的)。
重复:我不想互动,我只是想在那里“作为小部件”。
更新:我知道这听起来很奇怪,但是有问题的AIR应用程序是实际的.exe文件,而不是swf。 (实际上,这让我感到困惑,但我可以肯定地说,这是因为它表示您首次安装时需要安装空气),我在谈论这个应用程序: http:// assistantenza.vodafone.it/privati/servizi_web/applicazioni/widget_vodafone_it
更新2:我尝试使用user32.dll SetParent函数,但收到1400错误:INVALID_WINDOW_HANDLER,尽管该处理程序是通过调用process.MainWindowsHandle检索的,并且我重复一遍,此代码适用于记事本:
Process notePad = Process.Start("C:\\Windows\\System32\\notepad.exe");
notePad.WaitForInputIdle();
this.appNotePad = notePad.MainWindowHandle;
SetWindowPos(this.appNotePad, -1, 0, 0, panelNotepad.Size.Width, panelNotepad.Height, SWP_NOMOVE);
SetParent(this.appNotePad, panelNotepad.Handle);
SetWindowLong(this.appNotePad, GWL_STYLE, WS_VISIBLE);
也许使用WebBrowserObject可能是一种解决方案。 这是将Internet Explorer嵌入表单中,因此,您可以将html页面设置为其默认页面,并显示Adobe AIR应用程序。
我将检查是否还有另一种方法,但是如果您不需要与AIR交流表单应用程序,则可以接受。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.