You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

74 lines
1.9 KiB
C++

// aboutdlg.h : interface of the CAboutDlg class
//
/////////////////////////////////////////////////////////////////////////////
#pragma once
class COptionDlg : public CDialogImpl<COptionDlg>
{
public:
enum { IDD = IDD_OPTIONS_DLG };
BEGIN_MSG_MAP(COptionDlg)
MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
COMMAND_ID_HANDLER(IDOK, OnCloseCmd)
COMMAND_ID_HANDLER(IDCANCEL, OnCloseCmd)
END_MSG_MAP()
// Handler prototypes (uncomment arguments if needed):
// LRESULT MessageHandler(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
// LRESULT CommandHandler(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/)
// LRESULT NotifyHandler(int /*idCtrl*/, LPNMHDR /*pnmh*/, BOOL& /*bHandled*/)
LRESULT OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
{
CenterWindow(GetParent());
SetDlgItemText(IDC_USERNAME, TEXT("test"));
SetDlgItemText(IDC_PASSWORD, TEXT("123456"));
CRegKey key;
TCHAR buf[MAX_PATH] = { 0 };
if (key.Open(HKEY_CURRENT_USER, TEXT("Software\\XYPower\\MQTTClient"), KEY_READ) == ERROR_SUCCESS)
{
ULONG bufLen = MAX_PATH;
if (key.QueryStringValue(TEXT("UserName"), buf, &bufLen) == ERROR_SUCCESS)
{
SetDlgItemText(IDC_USERNAME, buf);
}
bufLen = MAX_PATH;
if (key.QueryStringValue(TEXT("Password"), buf, &bufLen) == ERROR_SUCCESS)
{
SetDlgItemText(IDC_PASSWORD, buf);
}
key.Close();
}
return TRUE;
}
LRESULT OnCloseCmd(WORD /*wNotifyCode*/, WORD wID, HWND /*hWndCtl*/, BOOL& /*bHandled*/)
{
if (wID == IDOK)
{
CRegKey key;
LSTATUS res = ERROR_SUCCESS;
if ((res = key.Create(HKEY_CURRENT_USER, TEXT("Software\\XYPower\\MQTTClient"))) == ERROR_SUCCESS)
{
CString buf;
GetDlgItemText(IDC_USERNAME, buf);
key.SetStringValue(TEXT("UserName"), buf);
GetDlgItemText(IDC_PASSWORD, buf);
key.SetStringValue(TEXT("Password"), buf);
key.Close();
}
}
EndDialog(wID);
return 0;
}
};