【问题标题】:to run an exe file in the panel of c#.net application在 c#.net 应用程序的面板中运行一个 exe 文件
【发布时间】:2010-01-29 08:39:57
【问题描述】:
  1. 我想使用 c# 代码在面板内的 winform .net 应用程序上运行 exe 文件
  2. 我可以使用System.Diagnostics.ProcessStartInfoProcess p = Process.Start("notepad.exe"); 在单击按钮时运行 exe 文件,但是使用 c# 代码在面板中运行此记事本文件或任何其他 exe 文件的代码是什么?
  3. 我想在面板中而不是在单独的窗口中运行应用程序。我运行了以下代码,但 exe 没有停留在屏幕上,也没有在面板中打开 请告诉我解决方案。

        Process p = Process.Start("notepad.exe");
        Thread.Sleep (600);  // Allow the process to open it's window 
        SetParent(p.MainWindowHandle, panel1.Handle);
    
    
    [DllImport("user32.dll")]
    static extern IntPtr SetParent(IntPtr hWndChild, IntPtr hWndNewParent);
    

【问题讨论】:

  • @zoya,你看过我推荐的文章了吗?它显示了您正在寻找的示例。

标签: .net winforms panel exe


【解决方案1】:

我认为您所说的是将应用程序嵌入到您的面板中。

这可能只适用于已创建嵌入的可执行文件。记事本不是其中之一。有些浏览器可以是 - Mozilla 是一个例子,IE 是另一个例子。

【讨论】:

  • 我的代码正在打开在单独的窗口中运行一个 exe 文件,但没有在面板中打开它。而且该 exe 不稳定
  • exe不稳定?这是什么意思?
  • 好的,然后告诉我在面板中运行 exe 的解决方案意味着在该特定面板区域中而不是在单独的窗口中。通过筛选我给出的代码告诉我..我必须修改哪里?
  • 我的意思是 exe 在我的 .net 程序面板上不稳定,它出现在单独的窗口中..我想做嵌入。
  • 正如我所解释的,您不能使用尚未编写用于执行此操作的应用程序来执行此操作。而Process.Start永远为你这样做。您需要找到能够满足您需求的控件
【解决方案2】:

我猜你正在寻找这个:Window Tabifier

【讨论】:

  • 感谢您的帮助...请详细说明。我想知道如何在按钮单击事件上的 c# 程序上的不同 exe 文件之间导航/切换。基本上我想在当前和以前打开的 exe 文件之间切换。我能够运行 exe 文件在我的程序上,但无法提供打开以前运行的 exe 文件的选项。
  • 你能给我提供使用 c#code 在我的 .netprogram 面板上嵌入 exe 的解决方案吗?我不想在单独的窗口上执行 exe,我想在面板中执行它。
  • 阅读文章即可。它带有源代码。我不能为你做。
  • 在面板中告诉我调用第三方应用的解决方案。
【解决方案3】:

你想做什么?你知道,如果你想在面板中运行你自己的程序,你可以编写一些基本的插件代码并从带有反射的程序集中获取控件。..

【讨论】:

  • 感谢您的回答,但您能否为我提供使用 c#code 在我的 .netprogram 面板上嵌入 exe 的解决方案。我不想在单独的窗口上执行 exe,我想在面板中执行它。
【解决方案4】:

您想要的是将 exe 的输出通过管道传输到您的进程。通常,当您不使用管道输出时,它默认为控制台应用程序的标准输出将是控制台窗口,通过管道您告诉 exe 您希望输出到您的进程而不是控制台窗口。然后您必须创建自己的“面板”(多行文本框)并将您调用的 exe 的输出流附加到它!

在这里学习:http://msdn.microsoft.com/en-us/library/system.diagnostics.processstartinfo.redirectstandardoutput(v=VS.90).aspx

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多