📄 configdialog.cpp
字号:
#include "stdafx.h"
#include "ConfigDialog.h"
#include <stdio.h>
#include "registry.h"
ConfigDialog::ConfigDialog()
{
}
ConfigDialog::~ConfigDialog()
{
}
LRESULT ConfigDialog::OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
{
return 1;
}
LRESULT ConfigDialog::OnCloseDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
{
EndDialog(0);
return 0;
}
LRESULT ConfigDialog::OnBnClickedRegisterButton(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/)
{
char fullKey[100];
_snprintf(fullKey, 100, "%s\\shell\\open\\command\0", _masterKey);
Registry reg(HKEY_CLASSES_ROOT, fullKey);
if (reg.checkValidity())
{
char *cmdLine = getCmdLine();
reg.setValue("", REG_SZ, cmdLine, (DWORD)strlen(cmdLine));
delete cmdLine;
}
reg.changeKey(HKEY_CLASSES_ROOT, ".enc");
if (reg.checkValidity())
{
// backing up old key (last parameter).
reg.setValue("", REG_SZ, _masterKey, (DWORD)strlen(_masterKey), true);
}
MessageBox("Registry Settings added Successfully", "Finished", MB_ICONQUESTION);
return 0;
}
LRESULT ConfigDialog::OnBnClickedUnregisterButton(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/)
{
SHDeleteKey(HKEY_CLASSES_ROOT, _masterKey);
Registry reg(HKEY_CLASSES_ROOT, ".enc");
if (!reg.restore(_masterKey))
{
reg.deleteKey(true);
}
MessageBox("Registry Settings removed Successfully", "Finished", MB_ICONQUESTION);
return 0;
}
LRESULT ConfigDialog::OnBnClickedClosesettings(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/)
{
EndDialog(0);
return 0;
}
LRESULT ConfigDialog::OnBnClickedSetcontestButton(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/)
{
const char *encryptText = "Encrypt File";
Registry reg(HKEY_CLASSES_ROOT, "*\\shell\\Dreamer.File.Encrypt");
reg.setValue("", REG_SZ, encryptText, (DWORD)strlen(encryptText ), false);
reg.changeKey(HKEY_CLASSES_ROOT, "*\\shell\\Dreamer.File.Encrypt\\command");
char *cmdLine = getCmdLine();
reg.setValue("", REG_SZ, cmdLine, (DWORD)strlen(cmdLine), false);
MessageBox("Content Menu updated Successfully", "Finished", MB_ICONQUESTION);
return 0;
}
LRESULT ConfigDialog::OnBnClickedRemovecontestButton(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/)
{
SHDeleteKey(HKEY_CLASSES_ROOT, "*\\shell\\Dreamer.File.Encrypt");
MessageBox("File Encryption Content Menu Removed Successfully", "Finished", MB_ICONQUESTION);
return 0;
}
char *ConfigDialog::getCmdLine()
{
char filename[MAX_PATH];
// get current executable filename.
GetModuleFileName(0, filename, MAX_PATH);
char *writeStr = new char[MAX_PATH];
_snprintf(writeStr, MAX_PATH, "\"%s\" \"%%1\"\0", filename);
return writeStr;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -