ReactOS 0.4.15-dev-5895-g2687c1b
CZipPassword.cpp
Go to the documentation of this file.
1/*
2 * PROJECT: ReactOS Zip Shell Extension
3 * LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+)
4 * PURPOSE: Ask the user for a password
5 * COPYRIGHT: Copyright 2019 Mark Jansen (mark.jansen@reactos.org)
6 */
7
8#include "precomp.h"
9
10class CZipPassword : public CDialogImpl<CZipPassword>
11{
12private:
15public:
18 {
19 if (filename != NULL)
21 }
22
24 {
26
27 /* No filename, so this is the question before starting to extract */
28 if (m_Filename.IsEmpty())
29 {
33 }
34 else
35 {
39 }
40 return TRUE;
41 }
42
43 LRESULT OnButton(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled)
44 {
45 if (wID == IDOK)
46 {
51 }
52 EndDialog(wID);
53 return 0;
54 }
55
56public:
57 enum { IDD = IDD_PASSWORD };
58
65};
66
68{
69 if (filename)
72 INT_PTR Result = password.DoModal(hDlg);
73 switch (Result)
74 {
75 case IDOK: return eAccept;
76 case IDSKIP: return eSkip;
77 default:
78 case IDCANCEL: return eAbort;
79 }
80}
eZipPasswordResponse _CZipAskPassword(HWND hDlg, const char *filename, CStringA &Password)
static VOID CenterWindow(HWND hWnd)
Definition: reactos.c:47
BOOL EndDialog(_In_ int nRetCode)
Definition: atlwin.h:1513
bool IsEmpty() const
Definition: atlsimpstr.h:379
PCXSTR GetString() const
Definition: atlsimpstr.h:361
void ReleaseBuffer(_In_ int nNewLength=-1)
Definition: atlsimpstr.h:372
CWindow GetParent() const
Definition: atlwin.h:694
HWND m_hWnd
Definition: atlwin.h:267
CStringA m_Filename
CZipPassword(const char *filename, CStringA *Password)
LRESULT OnInitDialog(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
LRESULT OnButton(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled)
CStringA * m_pPassword
WPARAM wParam
Definition: combotst.c:138
LPARAM lParam
Definition: combotst.c:139
#define NULL
Definition: types.h:112
#define TRUE
Definition: types.h:120
eZipPasswordResponse
Definition: precomp.h:61
@ eAccept
Definition: precomp.h:64
@ eSkip
Definition: precomp.h:63
@ eAbort
Definition: precomp.h:62
#define IDSKIP
Definition: resource.h:34
#define IDC_MESSAGE
Definition: resource.h:31
#define IDS_PASSWORD_ZIP_TEXT
Definition: resource.h:69
#define IDC_PASSWORD
Definition: resource.h:20
#define IDD_PASSWORD
Definition: resource.h:33
#define IDS_PASSWORD_FILE_TEXT
Definition: resource.h:68
LPSTR WINAPI PathFindFileNameA(LPCSTR lpszPath)
Definition: path.c:373
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned short WORD
Definition: ntddk_ex.h:93
GLenum GLsizei len
Definition: glext.h:6722
const char * filename
Definition: ioapi.h:137
#define MESSAGE_HANDLER(msg, func)
Definition: atlwin.h:1920
#define BEGIN_MSG_MAP(theClass)
Definition: atlwin.h:1892
#define COMMAND_ID_HANDLER(id, func)
Definition: atlwin.h:1947
#define END_MSG_MAP()
Definition: atlwin.h:1911
static ATOM item
Definition: dde.c:856
static WCHAR password[]
Definition: url.c:33
unsigned int UINT
Definition: ndis.h:50
Definition: tftpd.h:60
@ Password
Definition: telnetd.h:65
int32_t INT_PTR
Definition: typedefs.h:64
UINT WINAPI GetDlgItemTextA(HWND hDlg, int nIDDlgItem, LPSTR lpString, int nMaxCount)
Definition: dialog.c:2245
LONG_PTR LPARAM
Definition: windef.h:208
LONG_PTR LRESULT
Definition: windef.h:209
UINT_PTR WPARAM
Definition: windef.h:207
#define SW_HIDE
Definition: winuser.h:762
BOOL WINAPI ShowWindow(_In_ HWND, _In_ int)
#define IDCANCEL
Definition: winuser.h:825
int WINAPI GetWindowTextLengthA(_In_ HWND)
#define WM_INITDIALOG
Definition: winuser.h:1729
HWND WINAPI GetDlgItem(_In_opt_ HWND, _In_ int)
#define IDOK
Definition: winuser.h:824
BOOL WINAPI SetDlgItemTextA(_In_ HWND, _In_ int, _In_ LPCSTR)
#define MAKEINTRESOURCE
Definition: winuser.h:591
_At_(*)(_In_ PWSK_CLIENT Client, _In_opt_ PUNICODE_STRING NodeName, _In_opt_ PUNICODE_STRING ServiceName, _In_opt_ ULONG NameSpace, _In_opt_ GUID *Provider, _In_opt_ PADDRINFOEXW Hints, _Outptr_ PADDRINFOEXW *Result, _In_opt_ PEPROCESS OwningProcess, _In_opt_ PETHREAD OwningThread, _Inout_ PIRP Irp Result)(Mem)) NTSTATUS(WSKAPI *PFN_WSK_GET_ADDRESS_INFO
Definition: wsk.h:426