- 締切済み
UNLHAで解凍後に削除したい
お世話になります。VB6.0でUnlha32を使用してLZHファイルを解凍後、LZHファイルを削除する処理を作ってみたのですが、LZHをいざKILLステートメントで削除しようと思うと、”パスが無効”と出てしまって削除できません。 ret=Unlha(・・・) if ret = 0 then ChDir LZHファイルがあるフォルダ Kill LZHファイル ← ここでエラーが出る end if こんな感じなのですが、Killの前で何かやっておかなければならないのでしょうか? 例えばNothing や Closeのように 処理と切り離すコマンドが必要なのかな?
- みんなの回答 (3)
- 専門家の回答
関連するQ&A
- UNLHA.DLLの使い方
VBで以下のようにLZHの解凍をしています。 ret = Unlha(Me.hwnd, "e -c1 -m1 c:\fromfile.lzh c:\tofile", buf, 0) このままだと解凍状況ウィンドウが表示されてしまいますが、これを非表示にすることはできるのでしょうか? 何かオプションを指定すれば良いのでしょうか? ご存知の方、助けてください。
- ベストアンサー
- Visual Basic
- unlhaでフォルダごと自己解凍形式にするには?
unlhaで圧縮したファイルを自己解凍形式(exe)にする場合、 フォルダとその下のファイルをいっしょに自己解凍形式にするにはどうしたらいいのでしょうか? lzhにはできますが、exeにはできません。 教えて下さい。
- ベストアンサー
- フリーウェア・フリーソフト
- UNLHA32アンインストール
Windows XPを使用しております。 以前lzhを解凍するためにUNLHA32.DLLをダウンロードしました。 現在は不要になったのでアンインストールしたいのですが、 「プログラムの追加と削除」からアンインストールを行っても、 いくつかのファイルは削除できなかったと言われ、 エクスプローラからフォルダを見てみると、 アンインストール前と同じようにそのままファイルが残っています。 すべて安全に削除するためにはどうしたらよいのでしょうか? よろしくお願いいたします。
- 締切済み
- フリーウェア・フリーソフト
- lzh形式の解凍について・・・
lzh形式の圧縮ファイルを解凍するため、 「Unlha32.dll」というやつをインストールしたのですが、 lzh形式のファイルを解凍すると 「CRC エラーが発生しました」とか「格納ファイルのハフマンコードが壊れています」と出て,解凍できません。 だれか助けてください。 OSは98です。
- ベストアンサー
- その他(インターネット・Webサービス)
- lzhからファイルの削除
お世話になります。 直接は関係ないかも知れませんが、 winfdなるファイル操作aplを使っています。 winfdは圧縮・解凍にunlha32を使っています。 lzhの中のファイルを削除したいのですが、 良い方法はありますでしょうか。 現在は、 一度全てを解凍し、該当ファイルを削除した後、再圧縮しています。 宜しくお願いします。
- 締切済み
- フリーウェア・フリーソフト
- 【VC++2005(CLR)】C++/CLIへのUNLHA32の導入、及び、lzh圧縮解凍の実行の仕方について
いつもお世話になっています。 VC++初心者です。 以前の質問と同様になってしまいますが、 再度質問させて頂きたいと思います。 やりたいことは、VC++2005(CLR)で ボタンを押しすと、lzh圧縮、解凍するようにさせたいです。 ↓こんなイメージです。 private: System::Void button_Form1_Click(System::Object^ sender, System::EventArgs^ e) { String^ strFileName = "aaa.txt"//ファイル名 String^ strCompressFileName = "aaa.lzh"//圧縮されたファイル名 //ここにlzh解凍(べつのボタンでlzh圧縮)をしたい } ※先頭行に全角スペースを使用しています。 現在、他の方からアドバイスを頂いて、以下の状態まで来ました。 ・UNLHA32をダウンロードしました。 (格納先:C:\Program Files\ArchiverDll\UNLHA32) ・Form1.h内のボタンに実装するので、以下のコードを Form1.h内の「#pragma once」の下に追加しました。 #include "C:\\Program Files\\ArchiverDll\\UNLHA32\\UNLHA32.H" ・LIBの追加ができていません。 LIBの追加は、 ・「ソリューションエクスプローラ」のプロジェクト名を右クリック し、「プロパティ」を選択。 ・「構成プロパティ」-「リンカ」-「入力」をクリック。 ・「追加の依存ファイル」に「C:\\Program Files\\ArchiverDll\\UNLHA32\\UNLHA32.LIB」 を記入。 この時点で、エラーが発生しています。 (UNLHA32.LIBは上記の同フォルダにあります。) このエラーの対処、及び、これからすべきことを ご指導頂けませんでしょうか。 お手数ですが、よろしくお願い致します。
- ベストアンサー
- C・C++・C#
- UNLHA32.DLLとMkLzh/ExLzhのインストールについて
またやってしまいました。 VECTORのサイトからダウンロードしたUNLHA32.DLLとMkLzh/ExLzhの圧縮解凍ソフトの「解凍」がうまくいきません。UNLHAのほうは、「自己解凍書庫」で開きなさいというメッセージがでるのですが、これは、自分で新しいファイルをつくるのか、それとも、そういうファイルか何かがあるのか、さえ分からない状態です。 だれか、インストールの方法を教えて下さい。 加えて、「マイドキュメント」の中にあった。別のプログラムがファイルの中で解凍されてしまい。ちらかっています。このプログラムはいらないので消去したいのですが、これは、右クリックで削除していくしかないのでしょうか?
- ベストアンサー
- フリーウェア・フリーソフト
- エクセルVBA 自己解凍書庫作成
下記コードで処理しています。WinSFX32設定画面を表示させないようにするには、 どうすればよろしいでしょうか?設定については、ウィンドウタイトル~解凍 後実行コマンドは、すべてブランクで、下段のチェックボックス欄はすべてチェ ックを外したままにしたいのです。お手数ですが、よろしくお願いします。 Command = "a -a1 -r2 -x1 -jp1 -jm4 " & """" & LzNam & """" & " " & """" & XlNam & """" Result = Unlha(0, Command, RetMsg, 255) If Result = 0 Then MsgBox RetMsg, vbInformation, "LZH 完了" Else MsgBox RetMsg, vbCritical, "LZH 失敗" End If Command = "s -jp1 -x1 -gw3 " & """" & LzNam & """" & " " & """" & ExNam & """" Result = Unlha(0, Command, RetMsg, 255) If Result = 0 Then MsgBox RetMsg, vbInformation, "変換完了" Else MsgBox RetMsg, vbCritical, "変換失敗" End If
- ベストアンサー
- オフィス系ソフト
- unlha32.dll を使用した自己解凍書庫の作成について
今回チャレンジしているのが 自己解凍書庫でかつ解凍後実行コマンドを指定するケースです。 これをVB6から作成しようとしていますが、自己解凍書庫ができるまでは、うまくいくのですが、解凍後実行コマンドのスイッチを指定しても認識されていないような動きです。(自己解凍書庫をダブルクリックで実行(解凍)後、指定したコマンド(notepad.exe)が起動しない。 コマンドは以下の通り指定しています。 Dim var As lha ←unlha32.dll(V1.98b)は既に定義済み Set var = New lha 'まずLZHファイル var.lha("a -gw4 -xr1 -gye<notepad.exe> -w<c:\work> C:\work\archive C:\work\csv\ *.* ") '次に自己解凍書庫(exe)にする。 var.lha("s -gye<notepad.exe> -gw4 c:\work\archive.lzh c:\work\ ") この手順で行っています。 上のexeを実行後、notepadが起動できればOKなのですが。 何か気づかれた点等あれば、ご指摘ください。 宜しくお願い致します。
- 締切済み
- Visual Basic
- VB2005ExpressEditionでのUnlha32.dllのエラーコードの出し方
現在VB2005ExpressEditionでUnlha32.dllを使ってファイルの解凍をしようとしています しかし、失敗するのでエラーコードを出させるようにしてみました でも、出てきたのはどうやらエラーコードとは違うもののようなのです Unlha32.dllのエラーコードの出し方が間違っているようなのでエラーコードの出し方を教えてください ソースです↓(半角スペースは全角スペースにしてあります) Public Class Form1 Private Declare Function Unlha Lib "Unlha32.dll" (ByVal CmdLine As String) As Long Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click MsgBox(Unlha("e C:\test.lzh -x1a1 -c C:\ *.*")) End Sub End Class
- ベストアンサー
- Visual Basic
補足
解凍は下記の通りでやってます。 ret = Unlha(Me.hWnd, "e -ngm """ & FreezeFile & """ """ & workPath$ & """ ""*.*""", Buff, 64000) 成功すれば ret=0 ですよね。 皆様、色々ご回答ありがとうございました。 結局、イージーミスであることが発覚しました!! 元々、解凍しているファイルはCD-ROMに焼いたものを手で固定フォルダへコピー後、解凍プログラムを起動していたものであり、つまり!そのままだと「読み取り専用」の属性が付いたまま削除処理をしようとしているのですね。 本当にごめんなさい。(こんな簡単なことがわかるのに丸一日かけてしまいました(TT)) 無事解決しました。