- 題名: 自己解凍形式の解凍方法
- 日時: 2007/01/31 17:26:43
- ID: 18982
- この記事の返信元:
- (なし)
- この記事への返信:
- [18983] Re[1]: 自己解凍形式の解凍方法2007/01/31 18:00:46
- [18985] Re[1]: 自己解凍形式の解凍方法2007/02/01 8:30:58
- ツリーを表示
もっ、もしかして僕の解釈が間違っているのでは…と不安になってきましたよ。
スレ主が戻ってこないので、なんとも言えませんが。
私は元の質問が
> zip、lzh等の圧縮ファイルの解凍方法は探せたのですが、
> 自己解凍形式の解凍は記述が見つかりませんでした。
こんな感じだったので
> 自己解凍形式ではない圧縮ファイルの解凍方法はわかったが記述がなかったの
> で自己解凍形式をどうやって解凍していいのかがわからなかった
と解釈してみたのですが、Blueさんやぺがらぼさんの解釈は
> 自己解凍形式の圧縮ファイルを『実行させて』解凍する方法がわからなかった
なのかな?
むむう、実行させて解凍させる方法だと、やっぱり実行させたら終わるまでは何
もできないですよね。
でもせっかくなので、昨日の僕の回答を検証してみました。
まず自己解凍形式のファイル test.exe を作成してから。
Unlha32.dll をこんな風に定義して
[DllImport("unlha32.dll")]
private static extern int Unlha(
IntPtr hWnd,
String szCmdLine,
StringBuilder szOutput,
uint dwSize
);
ボタンのクリックイベントにこんな風に書いてみました。
private void button1_Click(object sender, EventArgs e)
{
StringBuilder s = new StringBuilder(255);
Unlha(IntPtr.Zero, "e d:\\test.exe d:\\test\\", s, 255);
}
実行して、ボタンをクリックしたところキチンと d:\test にファイルが解凍さ
れました。
…って、これじゃダメ?
分類:[.NET]
自己解凍形式のexeをアプリで解凍する事は可能でしょうか?
zip、lzh等の圧縮ファイルの解凍方法は探せたのですが、
自己解凍形式の解凍は記述が見つかりませんでした。
ご存知の方がいらっしゃいましたら、ご教授願います。
宜しくお願い致します。