Lhaz
lhaz.h
[詳解]
1 /*************************************************************************/
6 #pragma once
7 
8 #include "altstr.hpp"
9 #include "path.h"
10 #include <windows.h>
11 #include "myfile.h"
12 #include "mywindow.h"
13 #include "lhazarc.h"
14 #include "lhazfiletree.h"
15 #include "lhazprocfile.h"
16 #include "lhazregs.h"
17 #include "lhazsfx.h"
18 #include "passwordif.h"
19 #include "resource.h"
20 
21 class ARCHIVES;
22 class LHAZEDIT;
23 class LHAZHIST;
24 class LHAZPRG;
25 class LHAZSTS;
26 class LHAZTAB;
27 class MYREGISTORY;
28 class MYPANEL;
29 
30 namespace gui {
31 
32 class LHAZLISTVIEW;
33 class LHAZTREEVIEW;
34 
35 } // namespace gui
36 
37 #ifdef SPEED
38 extern DWORD tick;
39 #define LHAZSTART (tick = ::GetTickCount())
40 #else // SPEED
41 #define LHAZSTART
42 #endif // !SPEED
43 
44 /*************************************************************************/
47 class LHAZ {
48 public:
49  enum {
51  EXTRACTING_MENU
52  };
53  enum STATUS {
60  EXITING
61  };
62  enum {
63  LHAZWND_WIDTH = 256,
64  LHAZWND_HEIGHT = 114,
65  LHAZWND_HEIGHT_MULTI = 128,
66  };
67  enum {
68  WM_DRAGDROP = WM_APP + 100,
79  };
80  //
81  struct OPENFILTER {
83  UINT id;
84  const TCHAR* ext;
85  };
86  //
87  typedef INT_PTR CALLBACK TDLGPROC(HWND, UINT, WPARAM, LPARAM);
88  //
89  static const TCHAR LHAZVER[];
90  static const TCHAR LHAZREG[];
91 
92  static const TCHAR BZ2EXT[];
93  static const TCHAR CABEXT[];
94  static const TCHAR GZIPEXT[];
95  static const TCHAR LZ4EXT[];
96  static const TCHAR LZHEXT[];
97  static const TCHAR RAREXT[];
98  static const TCHAR SZIPEXT[];
99  static const TCHAR TAREXT[];
100  static const TCHAR TBZEXT[];
101  static const TCHAR TGZEXT[];
102  static const TCHAR TXZEXT[];
103  static const TCHAR XZEXT[];
104  static const TCHAR ZIPEXT[];
105 
106  static const TCHAR LHAZARCHIVELZH[];
107  static const TCHAR LHAZARCHIVEZIP[];
108  static const TCHAR LHAZARCHIVECAB[];
109  static const TCHAR LHAZARCHIVETGZ[];
110  static const TCHAR LHAZARCHIVETAR[];
111  static const TCHAR LHAZARCHIVEGZIP[];
112  static const TCHAR LHAZARCHIVETBZ[];
113  static const TCHAR LHAZARCHIVEBZ2[];
114  static const TCHAR LHAZARCHIVERAR[];
115  static const TCHAR LHAZARCHIVE7ZIP[];
116  static const TCHAR LHAZARCHIVEXZ[];
117  static const TCHAR LHAZARCHIVETXZ[];
118 
119  static const TCHAR DROPBOX_KEY[];
120  static const TCHAR DROPBOX_SECRET[];
121  static const TCHAR GOOGLEDRIVE_KEY[];
122  static const TCHAR GOOGLEDRIVE_SECRET[];
123  static const TCHAR ONEDRIVE_CLIENT_ID[];
124  //
125  static void CompressThread(void* param);
126  static void ExtractGrepThread(void* param);
127  static void ExtractViewThread(void* param);
128  static INT_PTR CALLBACK DialogEncPass(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
129  static INT_PTR CALLBACK DialogSFX(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
130  static UINT_PTR CALLBACK OFNHookProcComp(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
131  //
132  LHAZ(void);
133  ‾LHAZ(void);
134  //
135  void AddHistory(const WSTR& name);
136  void AddPassword(const WSTR& pswd);
137  bool Check4GB(ARCHIVE::TYPE type, vector<LHAZPROCFILE>& files);
138  bool CheckOverWriteArc(const WSTR& name);
139  void DisableAccelerator(void) { m_enableaccl = false; }
140  void DispCount(int s, LONGLONG t, bool selected);
141  void DispName(const WSTR& name);
142  int DoOverWrite(const WSTR& name, bool& force, bool& skip);
143  bool DownloadDB(void) const;
144  bool DownloadGD(void) const;
145  bool DownloadOD(void) const;
146  void EnableAccelerator(void) { m_enableaccl = true; }
147  void EnableMenu(int extract);
148  HANDLE ExecViewer(const WSTR& viewer, const WSTR& file);
149  void Exit(void);
150  void ExtractFile(const WSTR& file);
151  void ExtractOle(void);
152  void ExtractView(bool chdirsw);
153  WSTR GetArchiveName(const WSTR& curdir, std::vector<LHAZPROCFILE>& files, ARCHIVE::TYPE& type, UINT id);
154  const OPENFILTER* GetCompFilter(void) const { return CompFilter; }
155  bool GetDandD(void) const { return DandD; }
156  int GetDefPassExt(void) const { return DefPassExt; }
157  TDLGPROC* GetDialogPass(void) const { return &DialogPass; }
158  int GetError(void) { return Error; }
159  HWND GetHwnd(void) const { return LhazWnd; }
160  HINSTANCE GetInstance(void) const { return Instance; }
161  LHAZEDIT* GetLhazEdit(void) const { return LhazEdit; }
162  HWND GetLVWnd(void) const { return LVWnd; }
163  HMENU GetMenu(void) const { return Menu; }
164  const TCHAR* GetPassword(void) { return Password.CStr(); }
165  bool GetPopChange(void) const { return PopChange; }
166  LHAZPRG* GetPrgrs(void) const { return Prgrs; }
167  bool GetSelecting(void) const { return Selecting; }
168  LHAZSFX* GetSfx(void) { return &Sfx; }
169  int GetSortKind(void);
170  int GetSortRev(void) const { return SortRev; }
171  STATUS GetStatus(void) const { return Status; }
172  bool GetStop(void) const { return m_userstopped; }
173  LHAZSTS* GetStsBar(void) const { return StsBar; }
174  LHAZTAB* GetTab(void) const { return Tab; }
175  const PATH& GetTempName(void) const { return TempName; }
176  bool GetVerify(void) const { return Verify; }
177  bool Init(HINSTANCE hins, LPTSTR lpCmdLine);
178  bool MakeExtMember(LONGLONG& ext_total_size);
179  bool OpenArchive(WSTR name, bool add_or_new, bool rechis = true);
180  BOOL PopupExtMenu(bool view);
181  void Progress(unsigned int);
182  void ProgressAbs(LONGLONG);
183  int Run(void);
184  bool SelectFolder(const WSTR& init_dir, WSTR& selected_dir);
185  void SelectLocalTab(void);
186  void SetArchiveName(const WSTR& n) { ArchiveName = n; }
187  void SetDandD(bool b) { DandD = b; }
188  void SetDestDir(const WSTR& s) { DestDir = s; }
189  void SetError(int err) { Error = err; }
190  void SetExtIndex(const std::vector<int> &v);
191  void SetFiles(const std::vector<LHAZPROCFILE>& files) { Files = files; }
192  void SetLhazEdit(LHAZEDIT* e) { LhazEdit = e; }
193  void SetMeltedSize(LONGLONG size);
194  void SetPasswordIF(const PASSWORD_IF& p) { PasswordIF = p; }
195  void SetStatus(STATUS s) { Status = s; }
196  void SetStop(bool f) { m_userstopped = f; }
197  void SetStsBarText(const WSTR& mes);
198  void SetTotalSize(LONGLONG size);
199  void SetWindowTextSub(bool fullpath, const WSTR& p);
200  void ShowProgressBar(bool b);
201  void UpdateShell(bool, const WSTR& p);
202 
203 private:
204  enum { LHAZLVNOSELECT, LHAZLVSELECT };
205  enum { e_LHAZ_HPANEL_DX = 194 };
206  enum { LHAZVIEWERMENU = IDM_VIEW_ACC1 };
207  //
208  enum SMENUPOS {
209 // [ファイル]
210 #ifdef FEATURE_V3
211  LHAZARCHISTPOS = 5,
212 #else
213  LHAZARCHISTPOS = 4,
214 #endif
215 // [編集]
216  LHAZVIEWERINSPOS = 12,
217 // [ツール]
218  LHAZLISTPOS = 3,
219  };
220  enum STARTKEY { NON, CONTROL };
221  enum MODE { SINGLE, MULTI };
222  //
223  struct COMPTYPEMENU {
224  UINT wID;
225  UINT uID;
226  const TCHAR* format;
229  };
230  struct DIVPARAM { /* 分割スレッド用パラメータ */
231  HWND hwnd;
232  WSTR dst;
233  WSTR src;
234  unsigned long size;
235  };
236  //
237  static const MYFILE::OPENFILTER m_all_filter[];
238  static const TCHAR LHAZCLS[]; /* クラス名 */
239  static const TCHAR LHAZRES[]; /* リソースファイル名 */
240  static const TCHAR SFXEXT[]; /* SFX拡張子 */
241  static const TCHAR HLPEXT[]; /* HELP拡張子 */
242  static const TCHAR DLLEXT[]; /* DLL拡張子 */
243  static const TBBUTTON GpButtons[18]; /* ツールバーボタン */
244  static const TCHAR EXEOPEN[]; /* open */
245  static const TCHAR EXPLORE[]; /* explore */
246  static const OPENFILTER OpenFilter[];
247  static const OPENFILTER CompFilter[];
248  static const COMPTYPEMENU CompTypeMenu[];
249  static const TCHAR HELPURL[];
250  static const TCHAR LHAZATOMURL[];
251  static const TCHAR LHAZVERNUM[];
252  static const TCHAR LHAZURL[];
253  //
254  WSTR ArchiveName; /* 圧縮書庫名 */
255  WSTR BrowseInitDir; /* フォルダ選択初期フォルダ */
256  HWND CancelButtonWnd; /* 中止ボタン */
257  WSTR CurrentDir; /* カレントディレクトリ */
258  HCURSOR CursorHand; /* 手カーソル */
259  bool DandD; /* D&D解凍処理中 */
260  int DefPassExt; /* 解凍パスワード */
261  WSTR DestDir; /* 解凍先フォルダ(設定値) */
262  WSTR DestDirEx; /* 解凍先フォルダ(実行時) */
265  int Error; /* エラー */
266  std::vector<int> ExtIndex; /* 個別解凍インデックス */
267  std::vector<LHAZPROCFILE> Files; /* コマンドラインファイル */
268  int FileView; /* ファイル閲覧フラグ */
269  FINDREPLACE Find; /* 検索情報 */
270  UINT FindMsg; /* 検索メッセージ */
271  TCHAR FindWhat[MAX_PATH]; /* 検索文字列 */
272  HWND FindWnd; /* 検索ダイアログ */
273  bool ForceComp; /* スイッチによる圧縮 */
274  bool ForceExtract; /* スイッチによる解凍 */
275  ARCHIVE::TYPE ForceType; /* コマンドライン指定種別 */
276  bool ForceView; /* スイッチによる閲覧 */
277  WSTR GrepStr; /* grep文字列 */
278  WSTR gOverWriteMes; /* 上書き確認メッセージ */
279  HACCEL HAccel; /* アクセラレータ */
280  HFONT m_hfont;
281  LHAZHIST* History; /* 履歴クラス */
282  HINSTANCE Instance; /* インスタンス */
283  bool IsBrowsing; /* 閲覧中 */
284  WSTR KobetuCompBaseDir; /* 個別圧縮先フォルダ */
285  const TCHAR* KobetuCompExt; /* 個別圧縮書庫拡張子 */
286  int KobetuCompHeader; /* 個別圧縮レベル */
287  int KobetuCompMethod; /* 個別圧縮メソッド */
288  bool KobetuCompTemp; /* 個別圧縮指定 */
289  LHAZEDIT* LhazEdit; /* grep結果ウィンドウ */
290  HWND LhazWnd; /* 本体 */
291  WNDPROC LVOrgProc; /* リストビューサブクラス */
292  HWND LVWnd; /* 閲覧リストビュー */
293  HMENU Menu; /* 閲覧ウィンドウメニュー */
294  MODE Mode; /* 解凍モード(単数/複数書庫)*/
295  LONGLONG MultiTotal; /* マルチ解凍全サイズ */
296  bool NoCompTemp; /* 非圧縮指定 */
297  bool OpenDirTemp; /* 解凍先を開く */
298  WSTR OpenExtractedFolder; /* 解凍後開くフォルダ */
299  WSTR Password; /* パスワード */
300  PASSWORD_IF PasswordIF; /* パスワード入力IF */
301  bool PopChange; /* ポップアップでの指定 */
302  LHAZPRG* Prgrs; /* プログレスバー */
303  bool SamePlace; /* 書庫と同じ場所に解凍 */
304  bool SaveExtDlgPos; /* 解凍ダイアログ位置保存 */
305  bool Selecting; /* 選択の切り替え中 */
306  LHAZSFX Sfx; /* 自己解凍書庫設定情報 */
307  bool m_silent;
308  int SortKind; /* ソート方法 */
309  int SortRev; /* 逆順ソート */
310  STARTKEY StartKey; /* 開始時押下キー */
311  HWND StaticWnd; /* 解凍ファイル名 */
312  STATUS Status; /* ステータス */
313  LHAZSTS* StsBar; /* ステータスバー */
314  HIMAGELIST SysImageList; /* システムイメージリスト */
315  LHAZTAB* Tab; /* タブ */
316  PATH TempName; /* テンポラリ名 */
317  HWND ToolWnd; /* ツールバー */
318  LHAZPRG* TotalPrgrs; /* 複数解凍プログレスバー */
319  std::vector<LHAZFILETREE> Tree; /* ファイルツリー */
320  std::vector<ULONG> m_ulID;
322  bool Verify; /* テスト中 */
323  int Viewer[LHAZREGS::LHAZMAXVIEWER];/* ビューワ設定済みフラグ */
324  //
325  static void Div(void* param);
326  //
327  // Event handlers
328  MYCRACKERDEF(OnActivate);
329  MYCRACKERDEF(OnClose);
330  MYCRACKERDEF(OnCommand);
331  MYCRACKERDEF(OnCompEnd);
332  MYCRACKERDEF(OnCreate);
333  MYCRACKERDEF(OnDeleteEnd);
334  MYCRACKERDEF(OnDestroy);
335  MYCRACKERDEF(OnDropFiles);
336  MYCRACKERDEF(OnDispName);
337  MYCRACKERDEF(OnExecViewer);
338  MYCRACKERDEF(OnExtEnd);
339  MYCRACKERDEF(OnTestEnd);
340  MYCRACKERDEF(OnUploadComp);
341  MYCRACKERDEF(OnNotify);
342  MYCRACKERDEF(OnPanelSize);
343  MYCRACKERDEF(OnQueryEndSession);
344  MYCRACKERDEF(OnSettingChange);
345  MYCRACKERDEF(OnSize);
346  MYCRACKERDEF(OnSyscommand);
347  MYCRACKERDEF(OnVExtEnd);
348  void OnAllClear(HWND hWnd);
349  void OnChangeTab(WPARAM wParam);
350  void OnClose(void);
351  void OnClose(HTREEITEM hitem);
352  void OnCompress(void);
353  void OnConvert(void);
354  void OnCopyName(void);
355  void OnCreateExtract(void);
356  void OnCreateCompress(void);
357  void OnDecryptFiles(void);
358  void OnDelete(void);
359  void OnEncryptFiles(void);
360  void OnExtractHere(HWND);
361  void OnFind(void);
362  void OnFindMsg(HWND hwnd, LPFINDREPLACE fr);
363  void OnGrep(void);
364  void OnHelp(void);
365  void OnListOut(void);
366  void OnListMake(void);
367  void OnListProc(UINT id);
368  void OnMovePane(void);
369  int OnNotifyTab(HWND hWnd, WPARAM wParam, LPARAM lPAram);
370  void OnOpen(bool add_or_new);
371  void OnOpenFolder(void);
372  void OnOption(void);
373  void OnRefresh(void);
374  void OnSelectAll(void);
375  bool OnSelectFolderAndExtract(HWND hWnd);
376  void OnTest(void);
377  void OnTreeView(LPARAM lParam);
378  void OnTreeViewRClick(LPARAM lParam);
379  void OnUp(void);
380  bool OnUpload(ARCHIVE::TYPE type, bool encryption);
381  void OnVersionUp(void);
382  void OnView(WPARAM);
383  // 解凍・テスト
384  bool Extract(HWND hwnd);
385  bool ExtractDescendant(HTREEITEM hitem);
386  static void ExtractThread(void* dummy);
387  static void TestThread(void* dummy);
388  // 圧縮
389  bool Compress(ARCHIVE::TYPE type, UINT id);
390  bool KobetuCompress(UINT id);
391  static void KobetuCompressThread(void* param);
392  bool RegetFiles(void);
393  bool RecursiveKobetuComp(const WSTR& dir);
394  // 閲覧
395  void View(void);
396  // 削除
397  static void DeleteThread(void* param);
398  // サブ
399  void AddViewer(HMENU smenu, int start, int key);
400  bool ChangeDir(const WSTR& archive, bool mkdir, const WSTR& onedir);
401  void ChangeDirErr(const WSTR& dir);
402  void ChangeMenuDestDirs(void);
403  void ChangeMenuFilters(void);
404  bool CheckDiskSpace(const WSTR& dir, LONGLONG extract_size);
405  void CheckFilterMenu(int idx);
406  bool CheckName(HWND hwnd, const TCHAR* name);
407  void CheckQuickOption(void);
408  void CheckShowTreeView(void);
409 #ifdef SPEED
410  void DebugDisp(void);
411 #endif // SPEED
412  bool DecryptFiles(const std::vector<WSTR>& infiles, std::vector<WSTR>& outfiles);
413  void DeleteDigit(TCHAR* buf);
414  void DeleteViewer(void);
415  unsigned long DialogDivGetDivSize(HWND hwnd);
416  void DialogDivSub(HWND, unsigned long, LONGLONG total);
417  void DispDiskFree(WSTR& mes);
418  void DispStsBar(void);
419  void EnableListFilesMenu(bool ext_sel, bool comp);
420  bool EncryptAndUpload(ARCHIVE::TYPE type, bool encryption, const std::vector<WSTR>& files);
421  bool EncryptFiles(const std::vector<WSTR>& infiles, std::vector<WSTR>& outfiles);
422  void ExecFolder(const WSTR& dir);
423  void Filt(void);
424  void Filt2(int treefolder);
425  ARCHIVE* GetActiveArchive(void) const;
426  bool GetCmdLine(LPCTSTR lpCmdLine);
427  HRESULT GetComCtlVersion(LPDWORD pdwMajor, LPDWORD pdwMinor);
428  WSTR GetCompArcName(const WSTR& name, const WSTR& regex, ARCHIVE::TYPE type);
429  void GetDirFileList(const WSTR&, std::vector<WSTR>&);
430  LONGLONG GetDirSize(const WSTR& dir) const;
431  WSTR GetExeName(void);
432  void GetFont(void);
433  WSTR GetLFN(const WSTR& p);
434  WSTR GetRandomPassword(void);
435  WSTR GetResourceName(void);
436  HIMAGELIST GetSystemImageList(void);
437  LONGLONG GetTotalSize(void) const;
438  ARCHIVE::TYPE GetType(void) const;
439  WSTR GetViewerDispName(const WSTR& viewer);
440  void Grep(void);
441  void GrepExtract(void);
442  int HasDirZip(void);
443  bool HasUnicodeName(void);
444  bool IsAbleToKobetuComp(void);
445  bool IsDeskTopDir(const WSTR& dir);
446  bool IsZip(void) const;
447  bool ListProcCompress(UINT id);
448  bool ListProcGetListFile(const WSTR& filename, std::vector<WSTR>& files);
449  void ListProcSelect(UINT id);
450  void MakePopupExtMenu(HMENU menu);
451  void MakeTemp(void);
452  void OpenArchiveSub(bool rechis = true);
453  void OpenCmpFolder(void);
454  void OpenExtFolder(void);
455  bool ParseAtom(const MYBUF& buf, WSTR& version);
456  BOOL PopupCompMenu(HWND hwnd, bool view);
457  BOOL PopupHeaderContents(void);
458  BOOL PopupQuickOption(void);
459  void RemakeListFilesMenu(void);
460  void SetWindowText(bool fullpath);
461  void ShowTreeView(bool show);
462  void UnInstall(void);
463  // Callback functions
464  static int CALLBACK BrowseCallbackComp(HWND hwnd, UINT uMsg, LPARAM lParam, LPARAM lpData);
465  static int CALLBACK BrowseCallbackExtDir(HWND hwnd, UINT uMsg, LPARAM lParam, LPARAM lpData);
466  static int CALLBACK BrowseCallbackGD(HWND hwnd, UINT uMsg, LPARAM lParam, LPARAM lpData);
467  static int CALLBACK BrowseCallbackNow(HWND hwnd, UINT uMsg, LPARAM lParam, LPARAM lpData);
468  static int CALLBACK BrowseCallbackTemp(HWND hwnd, UINT uMsg, LPARAM lParam, LPARAM lpData);
469  static INT_PTR CALLBACK DialogAcount(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
470  static INT_PTR CALLBACK DialogCompFormat(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
471  static INT_PTR CALLBACK DialogDiv(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
472  static INT_PTR CALLBACK DialogEditCompPopup(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
473  static INT_PTR CALLBACK DialogExtDirCnf(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
474  static INT_PTR CALLBACK DialogGrep(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
475  static INT_PTR CALLBACK DialogListMake(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
476  static INT_PTR CALLBACK DialogListOut(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
477  static INT_PTR CALLBACK DialogOverWrite(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
478  static INT_PTR CALLBACK DialogOverWriteArc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
479  static INT_PTR CALLBACK DialogPass(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
480  static INT_PTR CALLBACK DialogVersion(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
481  static INT_PTR CALLBACK DialogViewContents(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
482  static INT_PTR CALLBACK PageAssoc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
483  static INT_PTR CALLBACK PageCloud(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
484  static INT_PTR CALLBACK PageCompress(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
485  static INT_PTR CALLBACK PageExtract(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
486  static INT_PTR CALLBACK PageGeneral(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
487  static INT_PTR CALLBACK PagePassword(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
488  static INT_PTR CALLBACK PageView(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
489  static INT_PTR CALLBACK PageViewer(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
490  static LRESULT CALLBACK LVSubProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
491  static LRESULT CALLBACK WndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
492 
493 };
494 
495 extern LHAZ Lhaz;
XZ Utils and lzmadec command line tools are in the public domain unless GNU getopt_long had to be compiled and linked in from the lib directory The getopt_long code is under GNU LGPLv2 The scripts to and view compressed files have been adapted from gzip These scripts and their documentation are under GNU GPLv2 All the documentation in the doc directory and most of the XZ Utils specific documentation files in other directories are in the public domain Translated messages are in the public domain The build system contains public domain files
Definition: COPYING.txt:3
Definition: lhaz.h:223
Archive.
const PATH & GetTempName(void) const
Definition: lhaz.h:175
Definition: lhaz.h:73
TYPE
Definition: lhazarc.h:28
LHAZSFX Sfx
Definition: lhaz.h:306
Definition: lhaz.h:70
HCURSOR CursorHand
Definition: lhaz.h:258
bool GetSelecting(void) const
Definition: lhaz.h:167
Definition: lhaz.h:54
Definition: lhazregs.h:42
bool NoCompTemp
Definition: lhaz.h:296
bool m_silent
Definition: lhaz.h:307
Definition: lhaz.h:78
LONGLONG MultiTotal
Definition: lhaz.h:295
bool GetVerify(void) const
Definition: lhaz.h:176
LHAZEDIT * LhazEdit
Definition: lhaz.h:289
int DefPassExt
Definition: lhaz.h:260
bool IsBrowsing
Definition: lhaz.h:283
WSTR dst
Definition: lhaz.h:232
std::vector< int > ExtIndex
Definition: lhaz.h:266
bool OpenDirTemp
Definition: lhaz.h:297
WSTR Password
Definition: lhaz.h:299
int SortKind
Definition: lhaz.h:308
bool Selecting
Definition: lhaz.h:305
LHAZTAB * GetTab(void) const
Definition: lhaz.h:174
bool m_enableaccl
Definition: lhaz.h:264
HWND ToolWnd
Definition: lhaz.h:317
bool DandD
Definition: lhaz.h:259
Definition: lhazarc.h:25
Definition: lhazbz2.h:17
WSTR gOverWriteMes
Definition: lhaz.h:278
Definition: lhaztab.h:34
UINT FindMsg
Definition: lhaz.h:270
HACCEL HAccel
Definition: lhaz.h:279
then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file
Definition: LICENSE.txt:110
Definition: lhaz.h:57
std::vector< ULONG > m_ulID
Definition: lhaz.h:320
bool ForceView
Definition: lhaz.h:276
unsigned long size
Definition: lhaz.h:234
const TCHAR * KobetuCompExt
Definition: lhaz.h:285
void DisableAccelerator(void)
Definition: lhaz.h:139
void SetError(int err)
Definition: lhaz.h:189
Definition: lhaz.h:76
HWND LVWnd
Definition: lhaz.h:292
STATUS Status
Definition: lhaz.h:312
LHAZPRG * TotalPrgrs
Definition: lhaz.h:318
Definition: lhaz.h:81
WSTR KobetuCompBaseDir
Definition: lhaz.h:284
STARTKEY StartKey
Definition: lhaz.h:310
ARCHIVE::TYPE type
Definition: lhaz.h:82
WSTR OpenExtractedFolder
Definition: lhaz.h:298
HWND GetHwnd(void) const
Definition: lhaz.h:159
Definition: lhazarcs.h:11
WSTR src
Definition: lhaz.h:233
STATUS GetStatus(void) const
Definition: lhaz.h:171
LHAZ Lhaz
Definition: lhaz.cpp:11
Definition: lhaz.h:72
bool ForceComp
Definition: lhaz.h:273
const TCHAR * GetPassword(void)
Definition: lhaz.h:164
STARTKEY
Definition: lhaz.h:220
int SortRev
Definition: lhaz.h:309
std::vector< LHAZFILETREE > Tree
Definition: lhaz.h:319
ARCHIVE::TYPE type
Definition: lhaz.h:227
TDLGPROC * GetDialogPass(void) const
Definition: lhaz.h:157
LHAZSTS * GetStsBar(void) const
Definition: lhaz.h:173
void SetLhazEdit(LHAZEDIT *e)
Definition: lhaz.h:192
bool KobetuCompTemp
Definition: lhaz.h:288
Definition: lhaz.h:230
void SetStatus(STATUS s)
Definition: lhaz.h:195
HIMAGELIST SysImageList
Definition: lhaz.h:314
Definition: lhaz.h:59
WSTR DestDirEx
Definition: lhaz.h:262
HFONT m_hfont
Definition: lhaz.h:280
bool GetPopChange(void) const
Definition: lhaz.h:165
bool SaveExtDlgPos
Definition: lhaz.h:304
Definition: lhazgrep.h:33
LHAZPRG * GetPrgrs(void) const
Definition: lhaz.h:166
HINSTANCE GetInstance(void) const
Definition: lhaz.h:160
std::vector< LHAZPROCFILE > Files
Definition: lhaz.h:267
int FileView
Definition: lhaz.h:268
LHAZPRG * Prgrs
Definition: lhaz.h:302
WSTR ArchiveName
Definition: lhaz.h:254
int KobetuCompHeader
Definition: lhaz.h:286
void SetStop(bool f)
Definition: lhaz.h:196
int GetDefPassExt(void) const
Definition: lhaz.h:156
Registory.
Definition: lhaz.h:221
int GetSortRev(void) const
Definition: lhaz.h:170
WSTR CurrentDir
Definition: lhaz.h:257
LHAZSTS * StsBar
Definition: lhaz.h:313
LHAZSFX * GetSfx(void)
Definition: lhaz.h:168
INT_PTR CALLBACK TDLGPROC(HWND, UINT, WPARAM, LPARAM)
Definition: lhaz.h:87
Definition: lhaz.h:56
void SetArchiveName(const WSTR &n)
Definition: lhaz.h:186
Definition: lhaz.h:58
int KobetuCompMethod
Definition: lhaz.h:287
WSTR GrepStr
Definition: lhaz.h:277
HMENU Menu
Definition: lhaz.h:293
and that you are informed that you can do these things To protect your we need to make restrictions that forbid distributors to deny you these rights or to ask you to surrender these rights These restrictions translate to certain responsibilities for you if you distribute copies of the library or if you modify it For if you distribute copies of the whether gratis or for a you must give the recipients all the rights that we gave you You must make sure that receive or can get the source code If you link other code with the you must provide complete object files to the so that they can relink them with the library after making changes to the library and recompiling it And you must show them these terms so they know their rights We protect your rights with a two step which gives you legal permission to distribute and or modify the library To protect each we want to make it very clear that there is no warranty for the free library if the library is modified by someone else and passed the recipients should know that what they have is not the original version
Definition: copying.txt:50
LHAZEDIT * GetLhazEdit(void) const
Definition: lhaz.h:161
Input Password Interface.
UINT uID
Definition: lhaz.h:225
UINT id
Definition: lhaz.h:83
Definition: lhaz.h:69
#define IDM_VIEW_ACC1
Definition: resource.h:600
Definition: lhazsfx.h:10
WNDPROC LVOrgProc
Definition: lhaz.h:291
機能テストを実施するためのディレクトリです. *概要 Git Bash上で一部またはすべてのテストを自動的に実行することができます. *実行方法 call_test shを実行すると,配下に存在する全てのテストを順次実行します. 各テストケースのtest shを実行すると,そのテストだけが実行されます. call_test sh[-v 2][-a 86][-k][-r][types...] test sh[-v 2][-a 86][-k][types...] v
Definition: README.txt:18
LHAZHIST * History
Definition: lhaz.h:281
HWND StaticWnd
Definition: lhaz.h:311
PASSWORD_IF PasswordIF
Definition: lhaz.h:300
SMENUPOS
Definition: lhaz.h:208
int GetError(void)
Definition: lhaz.h:158
UINT wID
Definition: lhaz.h:224
FINDREPLACE Find
Definition: lhaz.h:269
MODE
Definition: lhaz.h:221
bool GetDandD(void) const
Definition: lhaz.h:155
Definition: lhaz.h:74
ARCHIVE::TYPE ForceType
Definition: lhaz.h:275
LHAZTAB * Tab
Definition: lhaz.h:315
void SetPasswordIF(const PASSWORD_IF &p)
Definition: lhaz.h:194
Definition: lhaz.h:55
HINSTANCE Instance
Definition: lhaz.h:282
void SetDestDir(const WSTR &s)
Definition: lhaz.h:188
STATUS
Definition: lhaz.h:53
bool allow_unicode
Definition: lhaz.h:228
HWND LhazWnd
Definition: lhaz.h:290
HWND GetLVWnd(void) const
Definition: lhaz.h:162
Definition: lhazhist.h:15
DIVPARAM DivParam
Definition: lhaz.h:263
int Error
Definition: lhaz.h:265
Definition: lhaz.h:77
Definition: lhazsts.h:12
bool SamePlace
Definition: lhaz.h:303
Definition: lhazprg.h:10
bool GetStop(void) const
Definition: lhaz.h:172
void SetFiles(const std::vector< LHAZPROCFILE > &files)
Definition: lhaz.h:191
void SetDandD(bool b)
Definition: lhaz.h:187
bool PopChange
Definition: lhaz.h:301
MYCRACKERDEF(LHAZ::OnActivate)
Definition: lhazev.cpp:37
Definition: lhaz.h:75
void EnableAccelerator(void)
Definition: lhaz.h:146
MODE Mode
Definition: lhaz.h:294
const OPENFILTER * GetCompFilter(void) const
Definition: lhaz.h:154
bool Verify
Definition: lhaz.h:322
HWND FindWnd
Definition: lhaz.h:272
Input Password Interface.
Definition: passwordif.h:13
const TCHAR * ext
Definition: lhaz.h:84
Definition: lhaz.h:50
Main Class.
Definition: lhaz.h:47
bool m_userstopped
Definition: lhaz.h:321
File Tree.
WSTR DestDir
Definition: lhaz.h:261
HMENU GetMenu(void) const
Definition: lhaz.h:163
HWND CancelButtonWnd
Definition: lhaz.h:256
PATH TempName
Definition: lhaz.h:316
bool ForceExtract
Definition: lhaz.h:274
const TCHAR * format
Definition: lhaz.h:226
HWND hwnd
Definition: lhaz.h:231
WSTR BrowseInitDir
Definition: lhaz.h:255
Definition: lhaz.h:71