Home > ソフトウェア > Ashley > Ashley130.zip/Ashley130.exe > Src > ArcDll.h
//ArcDll.h /*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*# Ashley Ver.1.30 Coded by x@rgs This code is released under NYSL Version 0.9982 See NYSL_withfaq.TXT for further details. Ashleyは、アップローダからダウンロードしたZIPやRAR等のファイル名を元に戻すソフトです。 #*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*/ #ifndef ARCDLL_H #define ARCDLL_H #include "third-party/unlha32/UNLHA32.H" class CArcDll{ public: //コンストラクタ CArcDll(); //デストラクタ virtual ~CArcDll(); public: //DLLをロードします bool LoadDll(LPCTSTR lpzDllName,LPCTSTR lpszDllPrefix); //DLLを解放します bool UnloadDll(); protected: LPCTSTR m_lpszDllName; LPCTSTR m_lpszDllPrefix; HMODULE m_hDll; HARC m_hArc; protected: //関数名を投げるだけで良いGetProcAddress FARPROC GetProcAddress(LPCTSTR lpProcName); public: //DLLの動作中にカーソルを表示するモードか否かを設定します bool SetCursorMode(const bool _CursorMode); //現在DLLが動作中か否かを得ます bool GetRunning(); //指定ファイルがサポートしている書庫ファイルとして正しいかどうかを返します。 bool CheckArchive(LPCTSTR _szFileName,const int _iMode); //指定ファイルがサポートしている書庫ファイルとして正しいかどうかを返します。[ANSI] bool CheckArchiveA(LPCSTR _szFileName,const int _iMode); //指定ファイルがサポートしている書庫ファイルとして正しいかどうかを返します。[Unicode] bool CheckArchiveW(LPCWSTR _szFileName,const int _iMode); //指定したアーカイブファイルの形式を得ます。 int GetArchiveType(LPCSTR szFileName); //指定されたAPIが使用可能かどうかを得ます bool QueryFunctionList(const int _iFunction); //指定ファイルが有効な書庫ファイルかどうか調べ、有効であればオープンし、一意の数値(ハンドル)を返します。 HARC OpenArchive(const HWND _hwnd,LPCTSTR _szFileName,const DWORD _dwMode); //指定ファイルが有効な書庫ファイルかどうか調べ、有効であればオープンし、一意の数値(ハンドル)を返します。[ANSI] HARC OpenArchiveA(const HWND _hwnd,LPCSTR _szFileName,const DWORD _dwMode); //指定ファイルが有効な書庫ファイルかどうか調べ、有効であればオープンし、一意の数値(ハンドル)を返します。[Unicode] HARC OpenArchiveW(const HWND _hwnd,LPCWSTR _szFileName,const DWORD _dwMode); //OpenArchive()で割り付けたハンドルを解放する int CloseArchive(); //最初の格納ファイルの情報を得ます int FindFirst(LPCTSTR _szWildName,INDIVIDUALINFO FAR *lpSubInfo); //最初の格納ファイルの情報を得ます[ANSI] int FindFirstA(LPCSTR _szWildName,INDIVIDUALINFOA FAR *lpSubInfo); //最初の格納ファイルの情報を得ます[Unicode] int FindFirstW(LPCWSTR _szWildName,INDIVIDUALINFOW FAR *lpSubInfo); //2番目以降の格納ファイルの情報を返す int FindNext(INDIVIDUALINFO FAR *_lpSubInfo); //2番目以降の格納ファイルの情報を返す[ANSI] int FindNextA(INDIVIDUALINFOA FAR *_lpSubInfo); //2番目以降の格納ファイルの情報を返す[Unicode] int FindNextW(INDIVIDUALINFOW FAR *_lpSubInfo); //次の格納ファイルの情報を得ます int GetFileName(LPTSTR _lpBuffer,const int _nSize); //次の格納ファイルの情報を得ます[ANSI] int GetFileNameA(LPSTR _lpBuffer,const int _nSize); //次の格納ファイルの情報を得ます[Unicode] int GetFileNameW(LPWSTR _lpBuffer,const int _nSize); //格納ファイルのサイズを64ビット整数で得ます bool GetOriginalSizeEx(ULHA_INT64* lpllSize); //格納ファイルの圧縮サイズを得ます bool GetCompressedSizeEx(ULHA_INT64* lpllSize); //格納ファイルの属性を得ます int GetAttribute(); //メモリーバッファへ展開します int ExtractMem(HWND hwnd,LPCTSTR szCmdLine,LPBYTE szBuffer,const DWORD dwSize,time_t* lpTime,LPWORD lpwAttr,LPDWORD lpdwWriteSize); //メモリーバッファへ展開します[ANSI] int ExtractMemA(HWND hwnd,LPCSTR szCmdLine,LPBYTE szBuffer,const DWORD dwSize,time_t* lpTime,LPWORD lpwAttr,LPDWORD lpdwWriteSize); //メモリーバッファへ展開します[Unicode] int ExtractMemW(HWND hwnd,LPCWSTR szCmdLine,LPBYTE szBuffer,const DWORD dwSize,time_t* lpTime,LPWORD lpwAttr,LPDWORD lpdwWriteSize); //ディレクトリであるか否か inline bool IsDirectory(){return (bool)(CArcDll::GetAttribute()&FA_DIREC);} }; #endif //ARCDLL_H
Home > ソフトウェア > Ashley > Ashley130.zip/Ashley130.exe > Src > ArcDll.h