0

この質問にはさまざまなバリエーションがありますが、この質問が完全に重複しているかどうかはわかりません。

実行時に既存の実行可能ファイル (SOURCE exe) を実行できるようにしたいと考えています。1) 実行時に既存の TARGET exe を取得し、TARGET exe (pdf、image、 Word、Excel ファイル タイプなど) 2) 変更された TARGET exe を実行できるため、TARGET exe を実行すると、その内部に埋め込まれたコンテンツが検出され、そのコンテンツがハード ドライブにコピーされ、関連するプログラムが実行されます。コンテンツとともに (例: コピーした xls ファイルで Excel を実行)

Visual Studio でコンパイル時にリソースを埋め込む例を見てきましたが、実行時にコード (c#、java、動作するものは何でも) でこれを行いたいと考えています。ホスト TARGET exe が既に存在している必要があり、それにコンテンツを追加する必要があります。または、実行時に exe を最初から生成し、コンテンツを再度追加する必要があります。

また、必要以上のライブラリ/SDK をダウンロードする必要があるエンドユーザーを最小限に抑えるために、Visual Studio またはその他のツールがバックグラウンドで (可能であれば) exe を作成する cmd-line ツールを使用しないことをお勧めします。

この製品は、私がやりたいことと一致してい ます http://www.boomeranglistbuilder.com/instructions/usingsoftware.php

(私はそれを改善したい):)

最後に、ソリューションがクロス プラットフォーム互換であることができれば、それは素晴らしいことです (それは疑問ですが) Java でこれを行うことはできますか?

検索で言及されているウィンドウ ライブラリ リソース メソッド updateresource メソッドを見たことがありますが、それが私の状況に完全に適合するかどうかはわかりません。誰でもコメントできますか?

私の質問が明確であることを願っています。私にお知らせください。

任意の助けをいただければ幸いです。

ありがとうございました、

カルロス

4

1 に答える 1

0

ほとんどのバイナリ ファイル形式 (実行可能ファイルを含む) に当てはまると思います。整形式のファイルにデータを追加しても、ほとんどのプログラムで通常解釈される方法で、ファイルの使用に影響はありません。たぶん、これを利用できます。

埋め込むには、(既存の) ターゲット実行可能ファイルを取得し、それにバイナリ データを追加するだけです。そのデータには 2 つの部分があります。

  1. 魔法の言葉 (追加されたリソースの存在を示すため)
  2. リソース自体。

したがって、この:

[target executable data]

これになります:

[target executable data]
[magic word]
[resource]

ターゲット実行可能ファイルからリソースを読み取るには、その実行可能ファイル自体を開き、マジック ワードを検索し、存在する場合は、その後に追加されたリソースの読み取りを開始します。

これは、自己解凍型ファイル内のアーカイブを認識するために WinRAR が行うことです (または、少なくとも 4 年前、私が最後にチェックしたとき)。

于 2013-06-15T22:41:02.463 に答える