📄 natasconfig.cpp
字号:
#include "NatasConfig.h"
CNatasConfig::CNatasConfig()
{
bRealTime=FALSE;
BOOL bLogFile=FALSE;
NetAdapterNr=0;
strcpy(LogFileName, "natas.log");
strcpy(PWLogFileName, "natas_pw.log");
strcpy(HTTPLogFileName, "natas_http.log");
TargetPort =0;
SourcePort =0;
strcpy(TargetAddress, "0.0.0.0");
strcpy(SourceAddress, "0.0.0.0");
}
CNatasConfig::~CNatasConfig()
{
}
void CNatasConfig::ReadConfigFromRegistry(){
HKEY hKey;
BYTE buf[500];
unsigned long bufsize;
// unsigned int temp;
int i_tmp;
if(ERROR_SUCCESS==RegOpenKeyEx(HKEY_CURRENT_USER,"Software\\iNTEx\\Natas\\Config\0",0,KEY_READ,&hKey)) {
ZeroMemory(buf,500);
bufsize=500;
if(ERROR_SUCCESS==RegQueryValueEx(hKey,"LogFileName\0",NULL,NULL,buf,&bufsize))
strcpy(LogFileName,(char*)buf);
ZeroMemory(buf,500);
bufsize=500;
if(ERROR_SUCCESS==RegQueryValueEx(hKey,"PWLogFileName\0",NULL,NULL,buf,&bufsize))
strcpy(PWLogFileName,(char*)buf);
ZeroMemory(buf,500);
bufsize=500;
if(ERROR_SUCCESS==RegQueryValueEx(hKey,"HTTPLogFileName\0",NULL,NULL,buf,&bufsize))
strcpy(HTTPLogFileName,(char*)buf);
ZeroMemory(buf,500);
bufsize=500;
if(ERROR_SUCCESS==RegQueryValueEx(hKey,"SourceAddress\0",NULL,NULL,buf,&bufsize))
strcpy(SourceAddress,(char*)buf);
ZeroMemory(buf,500);
bufsize=500;
if(ERROR_SUCCESS==RegQueryValueEx(hKey,"TargetAddress\0",NULL,NULL,buf,&bufsize))
strcpy(TargetAddress,(char*)buf);
ZeroMemory(buf,500);
bufsize=500;
if(ERROR_SUCCESS==RegQueryValueEx(hKey,"SourcePort\0",NULL,NULL,buf,&bufsize)){
i_tmp =atoi((char*)buf);
SourcePort =(unsigned short)i_tmp;
}
ZeroMemory(buf,500);
bufsize=500;
if(ERROR_SUCCESS==RegQueryValueEx(hKey,"TargetPort\0",NULL,NULL,buf,&bufsize)){
i_tmp =atoi((char*)buf);
TargetPort =(unsigned short)i_tmp;
}
ZeroMemory(buf,500);
bufsize=500;
if(ERROR_SUCCESS==RegQueryValueEx(hKey,"NetAdapterNr\0",NULL,NULL,buf,&bufsize)) {
i_tmp =atoi((char*)buf);
NetAdapterNr =i_tmp;
}
ZeroMemory(buf,500);
bufsize=500;
if(ERROR_SUCCESS==RegQueryValueEx(hKey,"FilterCombination\0",NULL,NULL,buf,&bufsize)) {
i_tmp =atoi((char*)buf);
Combination =i_tmp;
}
ZeroMemory(buf,500);
bufsize=500;
if(ERROR_SUCCESS==RegQueryValueEx(hKey,"Enable Logfile\0",NULL,NULL,buf,&bufsize)) {
i_tmp =atoi((char*)buf);
if(i_tmp) bLogFile=TRUE;
else bLogFile=FALSE;
}
ZeroMemory(buf,500);
bufsize=500;
if(ERROR_SUCCESS==RegQueryValueEx(hKey,"Enable PWLogfile\0",NULL,NULL,buf,&bufsize)) {
i_tmp =atoi((char*)buf);
if(i_tmp) bPWLogFile=TRUE;
else bPWLogFile=FALSE;
}
ZeroMemory(buf,500);
bufsize=500;
if(ERROR_SUCCESS==RegQueryValueEx(hKey,"Enable HTTPLogfile\0",NULL,NULL,buf,&bufsize)) {
i_tmp =atoi((char*)buf);
if(i_tmp) bHTTPLogFile=TRUE;
else bHTTPLogFile=FALSE;
}
ZeroMemory(buf,500);
bufsize=500;
if(ERROR_SUCCESS==RegQueryValueEx(hKey,"Enable Realtime\0",NULL,NULL,buf,&bufsize)) {
i_tmp =atoi((char*)buf);
if(i_tmp) bRealTime=TRUE;
else bRealTime=FALSE;
}
RegCloseKey(HKEY_CURRENT_USER);
}
}
void CNatasConfig::WriteConfigToRegistry(){
HKEY hk;//=(HKEY)malloc(sizeof(HKEY));
HKEY hk2;//=(HKEY)malloc(sizeof(HKEY));
char temp[500];
if(ERROR_SUCCESS==RegConnectRegistry(NULL,HKEY_CURRENT_USER,&hk))
if(ERROR_SUCCESS==RegCreateKey(hk,"Software\\iNTEx\0",&hk2))
if(ERROR_SUCCESS==RegCreateKey(hk,"Software\\iNTEx\\Natas\0",&hk2))
if(ERROR_SUCCESS==RegCreateKey(hk,"Software\\iNTEx\\Natas\\Config\0",&hk2)) {
RegSetValueEx(hk2,"LogFileName",0,REG_SZ,(const unsigned char*)LogFileName,strlen(LogFileName));
RegSetValueEx(hk2,"PWLogFileName",0,REG_SZ,(const unsigned char*)PWLogFileName,strlen(PWLogFileName));
RegSetValueEx(hk2,"HTTPLogFileName",0,REG_SZ,(const unsigned char*)HTTPLogFileName,strlen(HTTPLogFileName));
RegSetValueEx(hk2,"SourceAddress",0,REG_SZ,(const unsigned char*)SourceAddress,strlen(SourceAddress));
RegSetValueEx(hk2,"TargetAddress",0,REG_SZ,(const unsigned char*)TargetAddress,strlen(TargetAddress));
sprintf(temp,"%d\0",SourcePort);
RegSetValueEx(hk2,"SourcePort",0,REG_SZ,(const unsigned char*)temp,strlen(temp));
sprintf(temp,"%d\0",TargetPort);
RegSetValueEx(hk2,"TargetPort",0,REG_SZ,(const unsigned char*)temp,strlen(temp));
sprintf(temp,"%d\0",NetAdapterNr);
RegSetValueEx(hk2,"NetAdapterNr",0,REG_SZ,(const unsigned char*)temp,strlen(temp));
sprintf(temp,"%d\0",Combination);
RegSetValueEx(hk2,"FilterCombination",0,REG_SZ,(const unsigned char*)temp,strlen(temp));
if(bLogFile) sprintf(temp,"1");
else sprintf(temp,"0");
RegSetValueEx(hk2,"Enable Logfile",0,REG_SZ,(const unsigned char*)temp,strlen(temp));
if(bPWLogFile) sprintf(temp,"1");
else sprintf(temp,"0");
RegSetValueEx(hk2,"Enable PWLogfile",0,REG_SZ,(const unsigned char*)temp,strlen(temp));
if(bHTTPLogFile) sprintf(temp,"1");
else sprintf(temp,"0");
RegSetValueEx(hk2,"Enable HTTPLogfile",0,REG_SZ,(const unsigned char*)temp,strlen(temp));
if(bRealTime) sprintf(temp,"1");
else sprintf(temp,"0");
RegSetValueEx(hk2,"Enable Realtime",0,REG_SZ,(const unsigned char*)temp,strlen(temp));
RegFlushKey(hk2);
RegCloseKey(hk2);
RegCloseKey(hk);
} else MessageBox(NULL,"Error saving preferences in Registry!","Alert!",MB_OK);
//free(hk2);
//free(hk);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -