详细注释函数
INT_PTR CALLBACK HiderDialog(HWND hDlg, UINT Message, WPARAM wParam, LPARAM lParam)
{
switch (Message)
{
case WM_INITDIALOG:
{
UpdateOptions(hDlg);
for (size_t i = 0; i < g_Settings->GetProfileNames().size(); i++)
{
SendDlgItemMessageA(hDlg, IDC_COB_CURRENTPROFILE, CB_ADDSTRING, 0, (LPARAM)g_Settings->GetProfileNames()[i].c_str());
if(g_Settings->GetCurrentProfileName() == g_Settings->GetProfileNames()[i])
SendDlgItemMessageA(hDlg, IDC_COB_CURRENTPROFILE, CB_SETCURSEL, i, 0);
}
CreateTooltips(hDlg);
return TRUE;
}
case WM_CLOSE:
{
EndDialog(hDlg, 0);
return TRUE;
}
case WM_COMMAND:
{
switch (LOWORD(wParam))
{
case IDC_BTN_OK:
{
if (SaveOptions(hDlg) == FALSE)
{
_plugin_logprintf("Error: Saving options failed\n");
break;
}
MessageBoxW(hDlg, L"Settings applied!", L"[HyperHide Options]", MB_ICONINFORMATION);
UpdateOptions(hDlg);
Hide();
break;
}
case IDC_BTN_CREATENEWPROFILE:
{
std::string NewProfileName;
NewProfileName.resize(GUI_MAX_LINE_SIZE);
if (!GuiGetLineWindow("Pass new profile name", &NewProfileName[0]))
break;
if (g_Settings->AddProfile(NewProfileName) == FALSE)
break;
g_Settings->SaveProfile();
g_Settings->SetProfile(NewProfileName);
SendDlgItemMessageA(hDlg, IDC_COB_CURRENTPROFILE, CB_ADDSTRING, 0, (LPARAM)NewProfileName.c_str());
int ProfileCount = SendDlgItemMessageA(hDlg, IDC_COB_CURRENTPROFILE, CB_GETCOUNT, 0, 0);
SendDlgItemMessageA(hDlg, IDC_COB_CURRENTPROFILE, CB_SETCURSEL, ProfileCount - 1, 0);
UpdateOptions(hDlg);
break;
}
case IDC_COB_CURRENTPROFILE:
{
if (HIWORD(wParam) != CBN_SELCHANGE)
break;
int ProfileIdx = (int)SendDlgItemMessageA(hDlg, IDC_COB_CURRENTPROFILE, CB_GETCURSEL, 0, 0);
g_Settings->SetProfile(g_Settings->GetProfileNames()[ProfileIdx]);
UpdateOptions(hDlg);
break;
}
case IDC_CHK_SELECT_ALL:
{
if (IsDlgButtonChecked(hDlg, IDC_CHK_SELECT_ALL) == TRUE)
{
for (size_t i = 0; i < CheckBoxNumber; i++)
{
BOOL status = CheckDlgButton(hDlg, i + IDC_CHK_NTQUERYINFORMATIONPROCESS, BST_CHECKED);
}
}
else
{
for (size_t i = 0; i < CheckBoxNumber; i++)
{
CheckDlgButton(hDlg, i + IDC_CHK_NTQUERYINFORMATIONPROCESS, BST_UNCHECKED);
}
}
break;
}
}
}
return TRUE;
}
return FALSE;
}
最新发布