⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 greenbrowser.cpp

📁 用VC写的浏览器
💻 CPP
📖 第 1 页 / 共 3 页
字号:
			strURL =  buf;
		}
		pmf->NewChildWindow(1, nOpenType, strURL);
	}
	else
	{
		//enable go home
		nOpenType = bGoHome;
		if(bGoHome == 2|| run)// must be first for run
		{
			char tmp[INTERNET_MAX_PATH_LENGTH];
			if (run)
			{
				remove(m_strUser+"LastVisit.ini");
				rename(m_strUser+"Visiting.ini", m_strUser+"LastVisit.ini");
			}
			CString filename = m_strUser+"LastVisit.ini";
			DWORD r = ::GetPrivateProfileString("LastVisit", "url0", NULL, tmp, INTERNET_MAX_PATH_LENGTH, filename);
			if(r)
			{
				CSelectURL dlg;
				dlg.DoModal();
			}
		}
		else if(bGoHome == 3)
		{
			CChildFrame *tcf;
			//load last visit
			char state[10]="state",url[8]="url"; // x+5
			CString filename = m_strUser+"LastVisit.ini";
			int i=0,nState;
			char tmp[INTERNET_MAX_PATH_LENGTH];
			BOOL r = TRUE;
			//
			BOOL bTemp = pmf->m_nNewSequence;
			pmf->m_nNewSequence = 0;
			while(r)
			{
				itoa(i, state+5, 10);
				itoa(i, url+3, 10);
				r = ::GetPrivateProfileString("LastVisit", url, NULL, tmp, INTERNET_MAX_PATH_LENGTH, filename);
				if (r)
				{
					tcf = pmf->NewChildWindow(1, 2, tmp);
					if (tcf)
					{
						nState = ::GetPrivateProfileInt("LastVisit", state, 0, filename);
						if (nState ==4)
							tcf->m_bLock = TRUE;
					}
				}
				i++;
			}
			pmf->m_nNewSequence  = bTemp;
		}
		else if(bGoHome == 0)
			pmf->PostMessage(WM_COMMAND, ID_FILE_NEW_BLANK, 0);
		else if(bGoHome == 1)//3.2
			pmf->PostMessage(WM_COMMAND, ID_FILE_NEW_S, 0);
		else if(bGoHome == 4)
		{
			pmf->OpenAllFavs(pmf->m_strStartFavFolder);
		}
		else if(bGoHome == 5)
		{
			//start group
			pmf->OpenGroup(pmf->m_strStartGroup+".cgp");
		}
		else if(bGoHome == 6)
			;//do nothing		
	}
	
	pmf->m_bAutoHideMode = GetProfileInt("Settings", "AutoHide", 0);
	if(pmf->m_bAutoHideMode)
	{
		pmf->AutoHideModeOn();
	}
	//full screen
	pmf->m_bFullScreenMode = GetProfileInt("Settings", "FullScreen", 0);
	if(pmf->m_bFullScreenMode)
	{
		pmf->FullScreenModeOn();
	}

	//############################################################################
	pmf->UpdateWindow();
	//delay load
	pmf->PostMessage(WM_DELAYLOAD_CONFIG);
	WriteProfileInt("Settings", "Running", 1);

	return TRUE;
}

// App command to run the dialog
void CGreenBrowserApp::OnAppAbout()
{
	CAboutDlg aboutDlg;
	aboutDlg.DoModal();
}

/////////////////////////////////////////////////////////////////////////////
// CGreenBrowserApp message handlers

//#pragma optimize( "", on )

int CGreenBrowserApp::ExitInstance() 
{
	// TODO: Add your specialized code here and/or call the base class
	try{
	WSACleanup();
	if(m_pDispOM)
		delete m_pDispOM;
	if(m_pDropTarget)
		delete m_pDropTarget;
	}catch(...){}

	if (m_bATLInited)
	{
		_Module.RevokeClassObjects();
		_Module.Term();
	}
	CoUninitialize();
	return CWinApp::ExitInstance();
}

void CGreenBrowserApp::LoadConfg()
{
	char *tmp = NULL;

	//enable popup
	g_bKillPop = GetProfileInt("Settings", "KillPop", 1);
	g_bKillAutoWin = GetProfileInt("Settings", "KillAutoWin", 1);
	g_bKillDupWin = GetProfileInt("Settings", "KillDupWin", 1);
	g_bKillListWin = GetProfileInt("Settings", "KillListWin", 1);
	//
	pmf->m_bNotConfirmPopupFilter = GetProfileInt("Settings", "NotConfirmPopupFilter", 1);
	pmf->m_bPlayPopupFilterSound = GetProfileInt("Settings", "PlayPopupFilterSound", 1);
	pmf->m_nPopDelay = GetProfileInt("Settings", "PopupBound", 120);
	pmf->m_nPopDelay /= 100;
	pmf->m_bFilterRefresh = GetProfileInt("Settings", "FilterRefresh", FALSE);
	pmf->m_bNotFilterClickDialog = GetProfileInt("Settings", "NotFilterClickDialog", TRUE);
	//
	pmf->m_bUseUrlFilter = GetProfileInt("Settings", "UseUrlFilter", TRUE);
	pmf->m_bUseDialogFilter = GetProfileInt("Settings", "UseDialogFilter", TRUE);
	pmf->m_bUseFlyingFilter = GetProfileInt("Settings", "UseFlyingFilter", TRUE);
	if (pmf->m_bUseFlyingFilter)
		pmf->RefreshKillFlyingCode();
	//
	pmf->m_bKillBlank = GetProfileInt("Filter", "KillBlank", TRUE);
	pmf->m_strBlankContent = GetProfileString("Filter", "BlankContent", "<AD>");
	if (pmf->m_bKillBlank)
		pmf->RefreshKillBlankCode();
	//
	pmf->m_bReloadUnShownImage = GetProfileInt("Settings", "ReloadUnShownImage", TRUE);
	//
	pmf->m_nEnableFilter = GetProfileInt("Settings", "EnableFilter", 0xF);
	//window pos
	int top = GetProfileInt("Settings", "top", 50);
	int left = GetProfileInt("Settings", "left", 50);
	int width = GetProfileInt("Settings", "width", 700);
	int height = GetProfileInt("Settings", "height", 500);
	if( width!=0 && top<2000 && top>=-20)
		m_pMainWnd->SetWindowPos(&CWnd::wndTop, left, top, width, height,SWP_HIDEWINDOW);   
	if( GetProfileInt("Settings", "Zoomed", 1))
		m_nCmdShow = SW_SHOWMAXIMIZED;

	pmf->m_nTitleLen = GetProfileInt("Settings", "TabSize", 20);

	//load defaul proxy
	pmf->GetIeProxy();
	pmf->m_bEnProxy = GetProfileInt("Settings", "EnableProxy", 0);
	pmf->m_strCurProxy = GetProfileString("Settings", "CurrentProxy", NULL);
	pmf->m_strCurProxyName = GetProfileString("Settings", "CurrentProxyName", NULL);//pmf->GetProxyName(pmf->m_strCurProxy);
	pmf->m_strProxyByPass = GetProfileString("Settings", "ProxyByPass", "<local>");
	pmf->UpdateProxy();
	
	//load defaul web proxy
	pmf->m_strDefaultWebProxy = GetProfileString("Settings", "DefaultWebProxy", NULL);
	//active new window
	pmf->m_bActiveNewWindow = GetProfileInt("Settings", "ActiveNew", 0);
	//
	pmf->m_bOpenFolderOut = GetProfileInt("Settings", "OpenFolderOut", TRUE);
	//the start favorite folder
	pmf->m_strStartFavFolder = GetProfileString("Settings", "StartFolder", NULL);
	//insert to next tab
	pmf->m_nNewSequence = GetProfileInt("Settings", "NewSequence", 1);
	
	//Exp Bar width
	pmf->m_nExpWidth = GetProfileInt("Settings", "ExpWidth", 200);
	//Exp Bar
	CString str = GetProfileString("Settings", "ExpBar");
	CString str1; 
	LOADSTR(str1 ,IDS_TITLE_HIS);
	if(str==str1)
		PostMessage(m_pMainWnd->m_hWnd, WM_COMMAND, ID_VIEW_HIS,0);
	LOADSTR(str1 ,IDS_TITLE_FAVORITE);
	if(str==str1)
		PostMessage(m_pMainWnd->m_hWnd, WM_COMMAND, ID_FAVORITES_DROPDOWN,0);
	LOADSTR(str1 ,IDS_TITLE_SHELL);
	if(str==str1)
		PostMessage(m_pMainWnd->m_hWnd, WM_COMMAND, ID_VIEW_FOLDER,0);
	LOADSTR(str1 ,IDS_TITLE_RESOURCE);
	if(str==str1)
		PostMessage(m_pMainWnd->m_hWnd, WM_COMMAND, ID_VIEW_EXPLOREBAR_RESOURCE,0);

	//autosizing tab
	pmf->m_bAutoTab = GetProfileInt("Settings", "AutoTab", 1);

	//max autosizing tab width
	pmf->m_nMaxTabWidth = GetProfileInt("Settings", "MaxTabWidth", 100);
	//min autosizing tab width
	pmf->m_nMinTabWidth = GetProfileInt("Settings", "MinTabWidth", 50);
	//
	g_bShowIndex = GetProfileInt("Settings","ShowIndex", TRUE);
	g_bShowIndex = GetProfileInt("Settings","ShowIndex", TRUE);
	g_bShowDot = GetProfileInt("Settings","ShowDot", TRUE);
	g_bShowRead = GetProfileInt("Settings","ShowRead", TRUE);
	g_bShowFavIcon = GetProfileInt("Settings","ShowFavIcon", TRUE);

	//silent
	g_bSilent = GetProfileInt("Settings", "Silent", TRUE);
	if (g_bSilent != (_RegGetString(HKEY_CURRENT_USER, 
		"Software\\Microsoft\\Internet Explorer\\Main",
		"Disable Script Debugger") == "yes" ? TRUE : FALSE))
	{
		if (g_bSilent)
			_RegSetString(HKEY_CURRENT_USER, 
				"Software\\Microsoft\\Internet Explorer\\Main",
				"Disable Script Debugger",
				"yes");
		else
			_RegSetString(HKEY_CURRENT_USER, 
				"Software\\Microsoft\\Internet Explorer\\Main",
				"Disable Script Debugger",
				"no");
	}
	//default font size
	g_nDefFontSize = GetProfileInt("Settings", "DefFontSize", 2);
	//disable scroll text on status bar
	g_bDisScrollText = GetProfileInt("Settings", "DisScrollText", FALSE);

	//filte blank popup window from same parent
	g_bFilteBlank = GetProfileInt("Settings", "FilteBlank", FALSE);

	//interval
	pmf->m_nInterval = GetProfileInt("Settings", "Interval", 0);

	//auto scroll
	pmf->m_bDefScrollAfterDL = GetProfileInt("Settings", "AutoScrollAfterDL", FALSE);
	pmf->m_bDefUseAutoScroll = GetProfileInt("Settings", "UseAutoScroll", FALSE);
	pmf->m_nDefSrSpeed = GetProfileInt("Settings", "SrSpeed", 1);
	pmf->m_nAutoScrollPage = GetProfileInt("Settings", "AutoScrollPage", 0);
	//scroll speed
	g_fSeed = (float)GetProfileInt("Settings", "SpeedSeed", 100);
	if(g_fSeed == 0)
		g_fSeed = 1;
	else
		g_fSeed = g_fSeed/100;

	//start group
	pmf->m_strStartGroup = GetProfileString("Settings", "StartGroup", "");

	//default bg color
	pmf->m_strBGColor = GetProfileString("Settings", "BGColor", "#FFFFFF");

	//default auto refresh
	pmf->m_nDefRefreshInterval = GetProfileInt("Settings", "AutoRefresh", 60);

	//auto set background
	g_bAutoSetBG = GetProfileInt("Settings", "AutoSetBG", FALSE);

	//animate icon
	pmf->m_bAnimatIcon = GetProfileInt("Settings", "AnimateIcon", TRUE);

	//lock homepage
	g_bLockHomepage = GetProfileInt("Settings", "LockHomepage", FALSE);

	pmf->m_bMouseCtrlScrSpeed = GetProfileInt("Settings", "MouseCtrlSpeed", FALSE);
	pmf->m_bDisDownActivex = GetProfileInt("Settings", "DisDownActivex", TRUE);

	//down
	pmf->m_nDownAll = GetProfileInt("Settings", "DownAll", 0);
	//
	pmf->m_nCollectorTrans = GetProfileInt("Settings", "CollectorTrans", 255);
	pmf->m_nMonitorTrans = GetProfileInt("Settings", "MonitorTrans", 180);
}

void CGreenBrowserApp::SaveConfg()
{
	try{
	//proxy
	if(g_bProxyDirty)
		pmf->m_aProxyCategories.SaveProxies();
	g_bProxyDirty = FALSE;

	//pop filter
	WriteProfileInt("Settings", "KillPop", g_bKillPop);
	WriteProfileInt("Settings", "KillAutoWin", g_bKillAutoWin);
	WriteProfileInt("Settings", "KillDupWin", g_bKillDupWin);
	WriteProfileInt("Settings", "KillListWin", g_bKillListWin);
	//content filter
	WriteProfileInt("Settings", "UseUrlFilter", pmf->m_bUseUrlFilter);
	WriteProfileInt("Settings", "UseFlyingFilter", pmf->m_bUseFlyingFilter);
	WriteProfileInt("Settings", "UseDialogFilter", pmf->m_bUseDialogFilter);
	WriteProfileInt("Settings", "EnableFilter", pmf->m_nEnableFilter);
	//
	WriteProfileInt("Settings", "DisDownActivex", pmf->m_bDisDownActivex);
	//else
	WriteProfileInt("Settings", "TabSize", pmf->m_nTitleLen);

	BYTE *tmp = NULL;
	int i = 1;

	//save defaul web proxy
	WriteProfileString("Settings","DefaultWebProxy", pmf->m_strDefaultWebProxy);
	
	//save defaul  proxy
	WriteProfileString("Settings","CurrentProxy", pmf->m_strCurProxy);
	WriteProfileString("Settings","CurrentProxyName", pmf->m_strCurProxyName);
	WriteProfileString("Settings","ProxyByPass", pmf->m_strProxyByPass);

	//active new
	WriteProfileInt("Settings", "ActiveNew", pmf->m_bActiveNewWindow);
	WriteProfileInt("Settings", "LinkInNewWindow", g_bLinkInNewWindow);
	//start favorite folder
	WriteProfileString("Settings","StartFolder", pmf->m_strStartFavFolder);

	//multiline tab
	WriteProfileInt("Settings", "MultiLineTab", pmf->m_bMultiLineTab);

	//insert to next tab
	WriteProfileInt("Settings", "NewSequence", pmf->m_nNewSequence);

	//Background PIC
	WriteProfileString("Settings", "SkinName", pmf->m_strSkinName);

	//Exp Bar
	CString str="";
	if(pmf->m_wndInstantBar.GetSafeHwnd()==NULL)
		str = "";
	else if(pmf->m_wndInstantBar.IsVisible())
		pmf->m_wndInstantBar.GetWindowText(str);
	WriteProfileString("Settings", "ExpBar", str);
	if(pmf->m_wndInstantBar.GetSafeHwnd()!=NULL)
	{
		CRect rect;
		pmf->m_wndInstantBar.GetWindowRect(&rect);
		WriteProfileInt("Settings", "ExpWidth", rect.Width());
	}

	//text label
	WriteProfileInt("Settings", "TextLabel", pmf->m_nTextLabel);
	//text label
	WriteProfileInt("Settings", "ColorIcon", pmf->m_bColorIcon);

	//autosizing tab
	WriteProfileInt("Settings","AutoTab", pmf->m_bAutoTab);

	//max autosizing tab width
	WriteProfileInt("Settings","MaxTabWidth", pmf->m_nMaxTabWidth);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -