📄 superchargerdlg.cpp
字号:
// To minimize, pass SC_MINIMIZE as the WPARAM
SendMessage(WM_SYSCOMMAND, SC_MINIMIZE, 0);
// To restore, pass SC_RESTORE as the WPARAM
//SendMessage(Application->Handle, WM_SYSCOMMAND, SC_RESTORE, 0);
static TCHAR szTVTool[MAX_PATH];
DWORD dwType;
DWORD dwSize = MAX_PATH;
HKEY hKey;
TCHAR szTBInstall[MAX_PATH];
wsprintf(szTBInstall,"%s%s",g_Global.szExeDir,"tvtoolbar.exe");
// Open appropriate registry key
LONG lResult = RegOpenKeyEx( HKEY_LOCAL_MACHINE,
_T("Software\\TVToolbar\\Settings"),
0, KEY_READ, &hKey );
if( ERROR_SUCCESS != lResult ) {
//return FALSE;
} else {
lResult = RegQueryValueEx( hKey, _T("ExeDir"), NULL, &dwType, (BYTE*)szTVTool, &dwSize );
RegCloseKey( hKey );
if( ERROR_SUCCESS != lResult ) {
//return FALSE;
} else {
_tcscat( szTVTool, _T("\\tvtool.exe") );
}
}
if (FileExists(szTVTool) ) {
ShellExecute(NULL, _T("open"), (LPCSTR)szTVTool, NULL,NULL, SW_SHOWNORMAL);
} else {
if ( FileExists(szTBInstall) ) {
ShellExecute(NULL, _T("open"), (LPCSTR)szTBInstall, NULL,NULL, SW_SHOWNORMAL);
} else {
ShellExecute(NULL, _T("open"), (LPCSTR)"http://www.software-rus.com/tvtoolbar.htm", NULL,NULL, SW_SHOWNORMAL);
}
}
return;
}
void CSuperChargerDlg::OnHelp()
{
UpdateData(TRUE);
if (IsListening) {
UpdateData(TRUE);
closesocket ( hSHandle );
m_edtStatus.SetWindowText("Not Listening");
IsListening = FALSE;
UpdateData(FALSE);
::MessageBox(GetSafeHwnd(), _T("Will Close Listening Mode\nPress Button Again!"),
_T("Must Stop Listening First!"),
MB_ICONINFORMATION|MB_OK|MB_DEFBUTTON1);
return;
}
// To minimize, pass SC_MINIMIZE as the WPARAM
SendMessage(WM_SYSCOMMAND, SC_MINIMIZE, 0);
// To restore, pass SC_RESTORE as the WPARAM
//SendMessage(Application->Handle, WM_SYSCOMMAND, SC_RESTORE, 0);
CString csUrlPage;
TCHAR url[MAX_PATH];
wsprintf(url,"%s%s",g_Global.szExeDir,"help.chm");
csUrlPage = url;
if (!FileExists(url))
return;
ShellExecute(NULL, _T("open"), (LPCSTR)url, NULL,NULL, SW_SHOWNORMAL);
return;
}
void CSuperChargerDlg::OncmdAbout()
{
UpdateData(TRUE);
if (IsListening) {
UpdateData(TRUE);
closesocket ( hSHandle );
m_edtStatus.SetWindowText("Not Listening");
IsListening = FALSE;
UpdateData(FALSE);
::MessageBox(GetSafeHwnd(), _T("Will Close Listening Mode\nPress Button Again!"),
_T("Must Stop Listening First!"),
MB_ICONINFORMATION|MB_OK|MB_DEFBUTTON1);
return;
}
// To minimize, pass SC_MINIMIZE as the WPARAM
SendMessage(WM_SYSCOMMAND, SC_MINIMIZE, 0);
// To restore, pass SC_RESTORE as the WPARAM
//SendMessage(Application->Handle, WM_SYSCOMMAND, SC_RESTORE, 0);
CString csUrlPage;
csUrlPage = "http://www.software-rus.com/supercharger.htm";
ShellExecute(NULL, _T("open"), (LPCSTR)csUrlPage, NULL,NULL, SW_SHOWNORMAL);
return;
}
void CSuperChargerDlg::OnSelChangeOpt()
{
UpdateData(TRUE);
if (IsListening) {
UpdateData(TRUE);
closesocket ( hSHandle );
m_edtStatus.SetWindowText("Not Listening");
IsListening = FALSE;
UpdateData(FALSE);
::MessageBox(GetSafeHwnd(), _T("Will Close Listening Mode\nPress Button Again!"),
_T("Must Stop Listening First!"),
MB_ICONINFORMATION|MB_OK|MB_DEFBUTTON1);
return;
}
}
void CSuperChargerDlg::OnSelChangeCombo1()
{
UpdateData(TRUE);
if (IsListening) {
UpdateData(TRUE);
closesocket ( hSHandle );
m_edtStatus.SetWindowText("Not Listening");
IsListening = FALSE;
UpdateData(FALSE);
::MessageBox(GetSafeHwnd(), _T("Will Close Listening Mode\nPress Button Again!"),
_T("Must Stop Listening First!"),
MB_ICONINFORMATION|MB_OK|MB_DEFBUTTON1);
return;
}
}
afx_msg LONG CSuperChargerDlg::OnLoadHostsFinished(WPARAM /* wparam*/ , LPARAM /* lparam */)
{
m_bExit = FALSE;
m_bAbort = FALSE;
m_bLoadHostsInProgress = FALSE;
return (LONG)0;
}
void CSuperChargerDlg::OnAddSuperHosts()
{
UpdateData(TRUE);
if (IsListening) {
UpdateData(TRUE);
closesocket ( hSHandle );
m_edtStatus.SetWindowText("Not Listening");
IsListening = FALSE;
MessageBeep(10);
UpdateData(FALSE);
::MessageBox(GetSafeHwnd(), _T("Will Close Listening Mode\nPress Button Again!"),
_T("Must Stop Listening First!"),
MB_ICONINFORMATION|MB_OK|MB_DEFBUTTON1);
return;
}
DWORD dwFlags=0;
dwFlags |= PSHIT_CANCEL;
long nNumberLines=0;
if ( ShowProgressDlg( AddSuperHosts,
_T("Processing Shit!"),
&nNumberLines,
dwFlags,
_T("Ok to cancel"),
THREAD_PRIORITY_NORMAL,
this ) )
{
CString sMsg;
sMsg.Format(_T("Super Hosts File Installed\r\nNow Blocking %d Possible Ad Sources!"), nNumberLines);
::MessageBox(GetSafeHwnd(),
(LPCSTR)sMsg,
_T("Information"),
MB_ICONINFORMATION|MB_OK|MB_DEFBUTTON1);
}
else
::MessageBox(GetSafeHwnd(),
_T("User Cancelled Operation!?"),
_T("Information"),
MB_ICONINFORMATION|MB_OK|MB_DEFBUTTON1);
}
ULONG AddSuperHosts(void* pData, CProgressDlg* pProgressDlg)
{
CHostsFile m_aHosts;
int i = 0;
int iCount = 0;
std::string piss;
// Hosts file
char hosts[MAX_PATH];
wsprintf(hosts,"%s",g_Global.szHosts);
// Our super hosts file hosts\super_hosts.txt
char super_hosts[MAX_PATH];
wsprintf(super_hosts,"%s%s",g_Global.szExeDir,"hosts\\super_hosts.txt");
if (!FileExists(hosts)) {
MessageBeep(10);
::MessageBox(pProgressDlg->GetSafeHwnd(), _T("There NO hosts file to append to..."),
(char*)hosts,
MB_ICONINFORMATION|MB_OK|MB_DEFBUTTON1);
return (UINT)0;
}
if (!FileExists(super_hosts)) {
MessageBeep(10);
::MessageBox(pProgressDlg->GetSafeHwnd(), _T("super_text.txt File is Missing!?"),
(char*)super_hosts,
MB_ICONINFORMATION|MB_OK|MB_DEFBUTTON1);
return (UINT)0;
}
m_aHosts.LoadFile(hosts,FALSE);
m_aHosts.LoadFile(super_hosts,TRUE);
if (m_aHosts.IsEmpty())
return (UINT)0;
// Write new hosts file
FILE *fh;
fh = fopen(hosts,"w");
if(fh == NULL)
goto Fucked;
try
{
for (iCount=0;
iCount<m_aHosts.GetCount();
++iCount)
{
std::string sNewEntry;
sNewEntry = m_aHosts.GetDataAt(iCount);
CString satan;
satan = sNewEntry.c_str();
satan += "\n";
fwrite (satan,1,satan.GetLength(),fh);
if (pProgressDlg)
{
if (pProgressDlg->HasBeenCancelled())
return (UINT)0;
//Update current position
//long nPercentage = nNumLines / nNumTotal;
//pProgressDlg->SetPercentageDone(nPercentage);
}
}
}
catch ( ... ) { }
fclose(fh);
free(hosts);
*((long*) pData)=iCount;
//AfxGetApp()->OnIdle(0); // updates user interface
return (UINT)1;
Fucked:
fclose(fh);
free(hosts);
*((long*) pData)=iCount;
return (UINT)0;
}
void CSuperChargerDlg::OnSaveListButton()
{
UpdateData(TRUE);
if (IsListening) {
UpdateData(TRUE);
closesocket ( hSHandle );
m_edtStatus.SetWindowText("Not Listening");
UpdateData(FALSE);
IsListening = FALSE;
::MessageBox(GetSafeHwnd(), _T("Will Close Listening Mode\nPress Button Again!"),
_T("Must Stop Listening First!"),
MB_ICONINFORMATION|MB_OK|MB_DEFBUTTON1);
return;
}
if (m_cboOpt.GetCurSel() < 0 || m_cboOpt.GetCurSel()>2) {
MessageBeep(10);
UpdateData(FALSE);
return;
}
//0 = Append Hosts
//1 = Replace Hosts
//2 = Save List As
ProcessData(m_cboOpt.GetCurSel());
}
void CSuperChargerDlg::ProcessData(int iAction)
{
//0 = Append Hosts
//1 = Replace Hosts
//2 = Save List As
CHostsFile m_aHosts;
FILE *fh;
CString csTemp;
CString csNewFile;
int iCount = 0;
// Hosts file
char hosts[MAX_PATH];
wsprintf(hosts,"%s",g_Global.szHosts);
m_aHosts.LoadFile(hosts,FALSE);
if (m_aHosts.IsEmpty()) return;
//0 = Append Hosts
if (iAction == 0)
fh = fopen (g_Global.szHosts,"w");
//1 = Replace Hosts
if (iAction == 1) {
//Should add WARNING here?
m_aHosts.Clear();
fh = fopen (g_Global.szHosts,"w");
}
//2 = Save List As
if (iAction == 2) {
m_aHosts.Clear();
CFileDialog *pDlg = new CFileDialog(FALSE,
"*.*",
"Untitled",
OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST | OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT | OFN_EXPLORER,
_T("Host Exclusion List (*.txt)|*.txt|All Files (*.*)|*.*||"));
pDlg->m_ofn.nFilterIndex = 1;
CString temp;
temp = g_Global.szExeDir;
temp += "hosts\\";
pDlg->m_ofn.lpstrInitialDir = (LPCSTR)temp;
pDlg->m_ofn.lpstrTitle = _T("Save As Hosts Exclusion List");
if( pDlg->DoModal()==IDOK ) {
csNewFile = pDlg->GetPathName();
fh = fopen(csNewFile,"w");
}
delete pDlg;
}
if ( fh == NULL ) return;
for (int i=0; i<m_dns_name_list.GetItemCount(); i++) {
if (ListView_GetCheckState(m_dns_name_list,i)) {
csTemp = m_dns_name_list.GetItemText(i, 0);
csTemp += "\n";
string suckmeoff;
suckmeoff = csTemp;
m_aHosts.Insert(suckmeoff);
}
}
if (m_aHosts.IsEmpty()) return;
try
{
for (iCount=0;
iCount<m_aHosts.GetCount();
++iCount)
{
std::string sNewEntry;
sNewEntry = m_aHosts.GetDataAt(iCount);
CString satan;
satan = sNewEntry.c_str();
satan.TrimRight();
i = satan.Find((TCHAR)'\n');
if(i!=0)
satan += "\n";
fwrite (satan,1,satan.GetLength(),fh);
/*
if (pProgressDlg)
{
if (pProgressDlg->HasBeenCancelled())
return (UINT)0;
//Update current position
//long nPercentage = nNumLines / nNumTotal;
//pProgressDlg->SetPercentageDone(nPercentage);
}
*/
}
}
catch ( ... ) { }
fclose(fh);
free(hosts);
UpdateData(FALSE);
if (iAction == 0)
::MessageBox(GetSafeHwnd(), _T("File Append to Hosts File!"), _T("Information"), MB_ICONINFORMATION|MB_OK);
else if (iAction == 1)
::MessageBox(GetSafeHwnd(), _T("Replaced Hosts File!"), _T("Information"), MB_ICONINFORMATION|MB_OK);
else
::MessageBox(GetSafeHwnd(), (LPCSTR)csNewFile, _T("Information"), MB_ICONINFORMATION|MB_OK);
return;
}
void CSuperChargerDlg::OnAddDomain()
{
UpdateData(TRUE);
if (IsListening) {
UpdateData(TRUE);
closesocket ( hSHandle );
m_edtStatus.SetWindowText("Not Listening");
UpdateData(FALSE);
IsListening = FALSE;
::MessageBox(GetSafeHwnd(), _T("Will Close Listening Mode\nPress Button Again!"),
_T("Must Stop Listening First!"),
MB_ICONINFORMATION|MB_OK|MB_DEFBUTTON1);
return;
}
CDomainDlg dlg;
dlg.m_ip = "127.0.0.1";
dlg.m_domain = "localhost";
dlg.m_desc = "Your computer!";
if (dlg.DoModal() == IDOK)
{
CString csData;
CString sIP = dlg.m_ip;
CString sDomain = dlg.m_domain;
CString sDesc = dlg.m_desc;
int i = m_dns_name_list.GetItemCount();
sIP.TrimLeft();
sDomain.TrimLeft();
sDesc.TrimRight();
if(sIP.GetLength()<1 || sDomain.GetLength()<1)
return;
csData = sIP+" "+sDomain;
if(sDesc.GetLength()>0)
{
int j = sDesc.Find((TCHAR)'#');
if(j==0)
sDesc = " "+sDesc;
else
sDesc = " #"+sDesc;
csData += sDesc;
}
InsertIPDomain(i, csData, 0);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -