問題は、C++ ビルダー 2010 に外部の .exe ファイルを追加する方法です。Visual Basic でいくつかのプログラムを作成し、exe ファイルを持っているとしましょう。そのため、C++ で同じコードを作成する必要はありません。プロジェクトにその exe を含めたいだけですか? ポータブル アプリケーションを、別の exe ファイル (おそらくリソース パス) 内にある 1 つの exe にすることは可能ですか? それが別のexeである場合、コードでそれを呼び出す方法は? システム関数またはexeに指示を出すことでそれを呼び出すことは知っていますが、メインのexeと同じアドレスにある場合はどうすればよいですか?
2 に答える
ダイアログを使用しProject > Resources
て VB .exe ファイルをプロジェクトに追加し、ID を付けます。実行時に、C++ コードはその ID のリソース データを一時ファイル ( withTResourceStream
やなど) に抽出しTFileStream
、 を使用CreateProcess()
して実行できます。使い終わったら忘れずにファイルを削除してください。
それ以外の場合は、代わりに VB コードを DLL に書き直してください。そうすれば、C++ アプリは必要に応じて DLL のエクスポートされた関数を簡単に呼び出すことができます。自己完結型の .exe を 1 つだけ配布する場合 (通常、これは DLL の使用方法ではありません)、DLL 関数に動的にアクセスするには、 の代わりにLoadLibrary()
andを使用するだけで、同じリソース アプローチを使用する必要があります。GetProcAddress()
CreateProcess()
あなたが何を達成しようとしているのか正確にはわかりません。特定のプログラムの機能を使用したい場合は、そのプログラムがどのように機能するかを知る必要があります。
特定の実行可能ファイルを取得して、シェル スクリプトと同じように呼び出す場合は、標準入力と標準出力をパイプにリダイレクトして、特定のプログラムを起動する必要があります。その方法の例は、MSDN で入手できます。Visual Basic .NET でできるように、ターゲット EXE で Visual Basic のクラスとメソッドを確認できるようにしたい場合は、運が悪いです。方法。