1
  1. c# コードを使用して、パネル内の winform .net アプリケーションで exe ファイルを実行したい
  2. System.Diagnostics.ProcessStartInfoボタンクリックでexeファイルを実行できますがProcess p = Process.Start("notepad.exe"); 、このメモ帳ファイルまたはパネル内の他のexeファイルをc#コードを使用して実行するコードは何ですか?
  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);
    
4

4 に答える 4

3

あなたが話しているのは、パネルにアプリケーションを埋め込むことだと思います。

これは、組み込み用に作成された実行可能ファイルでのみ発生する可能性があります。メモ帳はそれらの 1 つではありません。Mozillaはその一例であり、IEは別の例です。

于 2010-01-29T08:50:23.060 に答える
2

私はあなたがこれを探していると思います: Window Tabifier

于 2010-01-29T08:52:09.677 に答える
0

あなたは何をしようとしているのですか?独自のプログラムをパネルで実行したい場合は、基本的なプラグイン コードを記述し、リフレクションを使用してアセンブリからコントロールを取得できます。

于 2010-01-29T09:14:06.813 に答える
0

あなたが望むのは、exeの出力をプロセスにパイプすることです。通常、出力をパイプしない場合、デフォルトでコンソール アプリケーションの stdout がコンソール ウィンドウになります。これは、コンソール ウィンドウではなくプロセスに出力するように exe に指示するパイプによってコンソール ウィンドウになります。次に、独自の「パネル」(複数行のテキスト ボックス) を作成し、呼び出した exe からの出力ストリームを追加する必要があります。

ここで学ぶ: http://msdn.microsoft.com/en-us/library/system.diagnostics.processstartinfo.redirectstandardoutput(v=VS.90).aspx

于 2011-07-06T01:23:44.713 に答える