掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
UNLHA32.DLL の UnlhaOpenArchive について (ID:67010)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
お世話になります。 今、フリーで出回っている UNLHA32.DLL を使って書庫ファイルの一覧を 出力するプログラムを組んでいます。 ところが書庫ファイルをオープンする最初からエラーが起きて開けません。 エラーの種類は ERROR_FILE_OPEN です。書庫ファイルが開けない。って。 でも指定した書庫ファイルはフルパス指定ですし、exe のあるフォルダに 移動して相対パス指定でも同じくエラーダイアログが出ます。 一応はマニュアルを読み、使い方は間違っていないはずです。 何が悪いのでしょうか? #include <time.h> #include <stdio.h> #include <windows.h> #include <unlha32/unlha32.h> // unlha32.lib // 成功/失敗の定数 #define LHA_OK (0) #define LHA_ERR (-1) // メイン関数 int main( void ) { TCHAR szLZHFile[ 1024 ]; INDIVIDUALINFO ii; HARC hLHA; printf( "書庫ファイル名:" ); fgets( szLZHFile, sizeof(szLZHFile), stdin ); printf( "書庫ファイル名:%s\n\n", szLZHFile ); if ( (hLHA = UnlhaOpenArchive(NULL,szLZHFile,M_ERROR_MESSAGE_ON)) != NULL ){ if ( UnlhaFindFirst(hLHA,TEXT("*.*"),&ii) == LHA_OK ){ do { printf( "%-30s ", ii.szFileName ); printf( "%10u ", ii.dwOriginalSize ); printf( "%10u ", ii.dwCompressedSize ); printf( "%08X ", ii.dwCRC ); printf( "%3u%% ", ii.wRatio ); printf( "%s ", ii.szAttribute ); printf( "%s ", ii.szMode ); printf( "\n" ); } while ( UnlhaFindNext(hLHA,&ii) == LHA_OK ); } UnlhaCloseArchive( hLHA ); } else{ DWORD dwError; int nErrno; nErrno = UnlhaGetLastError( &dwError ); printf( "書庫ファイルがオープンできません。(error code:%d,0x%04X)\n", nErrno, nErrno ); } return 0; } こちらの環境は Windows XP Home SP2 VC++2003.NET(SDK) UNLHA32.DLL(Ver.2.62b) UNLHA32.DLL は最新バージョン(2007/11/12 Ver.2.62b)です。 http://homepage3.nifty.com/micco/myoldsoft/unlha32.htm 参考にしたサイトは http://kumei.ne.jp/c_lang/sdk3/sdk_272.htm 誰か分かりますか? お願い致します。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.