繁体   English   中英

将第3方AIR程序嵌入到ac#表单中

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM