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

📄 myie.cpp

📁 一个嵌入式的代码 MyIE3.0 代码 看了就知道了
💻 CPP
📖 第 1 页 / 共 4 页
字号:
		allpopups += ((CMainFrame*)m_pMainWnd)->m_lstrUtilNames.GetAt(pos);
		allpopups += "\n";
		((CMainFrame*)m_pMainWnd)->m_lstrUtilNames.GetNext(pos);
	}
	WriteProfileBinary("ExUtils","names", (LPBYTE)allpopups.GetBuffer(1), allpopups.GetLength()+1);
	//save utils commands
	allpopups.Empty();
	pos = ((CMainFrame*)m_pMainWnd)->m_lstrUtilCmds.GetHeadPosition();
	i=0;
	while(pos!=NULL)
	{
		allpopups += ((CMainFrame*)m_pMainWnd)->m_lstrUtilCmds.GetAt(pos);
		allpopups += "\n";
		((CMainFrame*)m_pMainWnd)->m_lstrUtilCmds.GetNext(pos);
	}
	WriteProfileBinary("ExUtils","cmds", (LPBYTE)allpopups.GetBuffer(1), allpopups.GetLength()+1);
*/
	i = 1;
	WriteProfileString("ExUtils", NULL, "");
	strcpy(Keyname1, "name"); 
	strcpy(Keyname2, "cmds");
	strcpy(Keyname3, "sta");
	strcpy(Keyname4, "cls");
	CExternalUtilItem* eui;
	for (int ir=0;ir <= ((CMainFrame*)m_pMainWnd)->m_ExternalUtilList.m_UtilList.GetUpperBound();ir++)
	{
		eui = ((CMainFrame*)m_pMainWnd)->m_ExternalUtilList.m_UtilList.GetAt(ir);
		itoa(ir+1, Keyname1+4, 10);
		itoa(ir+1, Keyname2+4, 10);
		itoa(ir+1, Keyname3+3, 10);
		itoa(ir+1, Keyname4+3, 10);
		WriteProfileString("ExUtils", Keyname1, eui->m_strUtilName);
		WriteProfileString("ExUtils", Keyname2, eui->m_strUtilCmd);
		WriteProfileInt("ExUtils", Keyname3, eui->m_bUtilStart);
		WriteProfileInt("ExUtils", Keyname4, eui->m_bUtilClose);
	}

	//active new
	WriteProfileInt("Settings", "ActiveNew", ((CMainFrame*)m_pMainWnd)->m_bActiveNewWindow);
	//active new
	WriteProfileInt("Settings", "AddressInNewWindow", bAddressInNewWindow);
	WriteProfileInt("Settings", "LinkInNewWindow", bLinkInNewWindow);
	WriteProfileInt("Settings", "FavInNewWindow", bFavInNewWindow);
	WriteProfileInt("Settings", "HisInNewWindow", bHisInNewWindow);
	WriteProfileInt("Settings", "FileInNewWindow", bFileInNewWindow);

	//start favorite folder
	WriteProfileString("Settings","StartFolder", ((CMainFrame*)m_pMainWnd)->m_strStartFavFolder);

	//multiline tab
	WriteProfileInt("Settings", "MultiLineTab", ((CMainFrame*)m_pMainWnd)->m_bMultiLineTab);

	//insert to next tab
	WriteProfileInt("Settings", "NextTab", ((CMainFrame*)m_pMainWnd)->m_bNextTab);

	//display ip
	WriteProfileInt("Settings", "DisplayIP", ((CMainFrame*)m_pMainWnd)->m_bDisplayIP);

	//display mem
	WriteProfileInt("Settings", "DisplayMem", ((CMainFrame*)m_pMainWnd)->m_bDispMem);
	
	//Background PIC
	WriteProfileString("Settings", "Background", ((CMainFrame*)m_pMainWnd)->m_strBGPic);

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

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

	//autosizing tab
	WriteProfileInt("Settings","AutoTab", ((CMainFrame*)m_pMainWnd)->m_bAutoTab);

	//max autosizing tab width
	WriteProfileInt("Settings","MaxTabWidth", ((CMainFrame*)m_pMainWnd)->m_nMaxTabWidth);
	//min autosizing tab width
	WriteProfileInt("Settings","MinTabWidth", ((CMainFrame*)m_pMainWnd)->m_nMinTabWidth);

	//confirm when exit
	WriteProfileInt("Settings","ConfirmExit", bConfirmExit);

	//use shortcut
	WriteProfileInt("Settings","UseSC", ((CMainFrame*)m_pMainWnd)->m_bUseSC);

	//use alias
	WriteProfileInt("Settings","UseAlias", ((CMainFrame*)m_pMainWnd)->m_bUseAlias);

	//save shortcuts
	char key[9]="F";
	for(i=0;i<11;i++)
	{
		itoa(i+2, key+1, 10);
		WriteProfileString("Shortcuts", key, ((CMainFrame*)m_pMainWnd)->m_strShortCuts[i]);
	}

	//save alias
	CString alias, url;
	pos = ((CMainFrame*)pMainFrame)->m_mapAlias.GetStartPosition();
		i=0;
		while(pos!=NULL)
		{
			((CMainFrame*)pMainFrame)->m_mapAlias.GetNextAssoc(pos, alias, url);
			key[0]='A';
			itoa(i, key+1, 10);
			WriteProfileString("Alias", key, alias);
			key[0]='U';
			itoa(i, key+1, 10);
			WriteProfileString("Alias", key, url);
			i++;
		}
		key[0]='A';
		itoa(i, key+1, 10);
		WriteProfileString("Alias", key, "");
		key[0]='U';
		itoa(i, key+1, 10);
		WriteProfileString("Alias", key, "");

	//max menu width
	WriteProfileInt("Settings","MenuSize", ((CMainFrame*)m_pMainWnd)->m_nMenuWidth);

	//domains
	WriteProfileString("Domains", "CE1", ((CMainFrame*)pMainFrame)->m_strCE1);
	WriteProfileString("Domains", "CE2", ((CMainFrame*)pMainFrame)->m_strCE2);
	WriteProfileString("Domains", "SE1", ((CMainFrame*)pMainFrame)->m_strSE1);
	WriteProfileString("Domains", "SE2", ((CMainFrame*)pMainFrame)->m_strSE2);
	WriteProfileString("Domains", "CSE1", ((CMainFrame*)pMainFrame)->m_strCSE1);
	WriteProfileString("Domains", "CSE2", ((CMainFrame*)pMainFrame)->m_strCSE2);

	//single menu
	WriteProfileInt("Settings","SingleMenu", bSingleMenu);
	//sys tray
	WriteProfileInt("Settings","SysTray", bSysTray);
	//3721
	WriteProfileInt("Settings","Use3721", ((CMainFrame*)pMainFrame)->m_bUse3721);
	//max wins
	WriteProfileInt("Settings","MaxWins", nMaxWins);
	//sequence
	WriteProfileInt("Settings", "Sequence", ((CMainFrame*)m_pMainWnd)->m_nSeq);
	//silent
	WriteProfileInt("Settings", "Silent", bSilent);
	//defaut font size
	WriteProfileInt("Settings", "DefFontSize", nDefFontSize);
	//disable scroll text on statusbar
	WriteProfileInt("Settings", "DisScrollText", bURLOnly);
	//interval
	WriteProfileInt("Settings", "Interval", ((CMainFrame*)m_pMainWnd)->m_nInterval);
	//open link in new window
//	WriteProfileInt("Settings", "LinkInNewWin", bLinkInNewWin);

	//default browse mode
	WriteProfileInt("BModes", "ActiveNewWindow", ((CMainFrame*)m_pMainWnd)->m_bmUserDefault.m_bActiveNewWindow);  
	WriteProfileInt("BModes", "AlwaysNewWindow", ((CMainFrame*)m_pMainWnd)->m_bmUserDefault.m_bAlwaysNewWindow);  
	WriteProfileInt("BModes", "Seq", ((CMainFrame*)m_pMainWnd)->m_bmUserDefault.m_nSeq); 
	WriteProfileInt("BModes", "LinkInNewWin", ((CMainFrame*)m_pMainWnd)->m_bmUserDefault.bLinkInNewWin);

	//auto scroll
	WriteProfileInt("Settings", "AutoScrollAfterDL", ((CMainFrame*)m_pMainWnd)->m_bDefScrollAfterDL); 
	WriteProfileInt("Settings", "UseAutoScroll", ((CMainFrame*)m_pMainWnd)->m_bDefUseAutoScroll);
	WriteProfileInt("Settings", "SrSpeed", ((CMainFrame*)m_pMainWnd)->m_nDefSrSpeed);  

	WriteProfileInt("Settings", "ConfirmCloseAll", bConfirmCloseAll);
	WriteProfileInt("Settings", "OneInstance", bOneInstance);

	//start group
	WriteProfileString("Settings", "StartGroup", ((CMainFrame*)m_pMainWnd)->m_strStartGroup);

	//new window
	WriteProfileInt("Settings", "NewWindow", ((CMainFrame*)m_pMainWnd)->m_nNewWindow);

	//allow double click to close window
	WriteProfileInt("Settings", "AllowDBC", ((CMainFrame*)m_pMainWnd)->m_nAllowDBC);
	WriteProfileInt("Settings", "AllowMC", ((CMainFrame*)m_pMainWnd)->m_nAllowMC);

	//group path
	WriteProfileString("Settings", "GroupPath", m_strGroupPath);

	//image path
	WriteProfileString("Settings", "ImagePath", m_strImagePath);

	//default bg color
	WriteProfileString("Settings", "BGColor", ((CMainFrame*)m_pMainWnd)->m_strBGColor);

	//display open all fav
	WriteProfileInt("Settings", "DisplayOpenAll", ((CMainFrame*)m_pMainWnd)->m_bDisplayOpenAll);
	WriteProfileInt("Settings", "DisplayAddFav", ((CMainFrame*)m_pMainWnd)->m_bDisplayAddFav);

	//default auto refresh
	WriteProfileInt("Settings", "AutoRefresh", ((CMainFrame*)m_pMainWnd)->m_nDefRefreshInterval);

	//toolbar icon
	WriteProfileInt("Settings", "SmallToolbar", ((CMainFrame*)m_pMainWnd)->m_bSmallToolBar);

	//auto set background
	WriteProfileInt("Settings", "AutoSetBG", bAutoSetBG);

	WriteProfileInt("Settings", "CompactFavBar", bCompactFavBar);
	WriteProfileInt("Settings", "AnimateIcon", ((CMainFrame*)m_pMainWnd)->m_bAnimatIcon);

	WriteProfileInt("Settings", "MouseGestures", ((CMainFrame*)m_pMainWnd)->m_bAllowMouseGestures);

	WriteProfileInt("Settings", "LockHomepage", bLockHomepage);

	//auto save
	WriteProfileInt("Settings", "AutoSave", ((CMainFrame*)m_pMainWnd)->m_nAutoSave);
	WriteProfileInt("Settings", "CateWithSite", ((CMainFrame*)m_pMainWnd)->m_bCateWithSite);

	}
	catch(...)
	{
	}
}



BOOL CMyIEApp::OnIdle(LONG lCount) 
{
	// TODO: Add your specialized code here and/or call the base class
	try{

	if(pMainFrame!=NULL)
	{
		if(((CMainFrame*)pMainFrame)->m_bFavDirty==3 || (((CMainFrame*)pMainFrame)->m_bFavDirty && nDelay>30))
		{
			//((CMainFrame*)pMainFrame)->InitFavorites();
			((CMainFrame*)pMainFrame)->PostMessage(WM_UPDATE_FAV);
			((CMainFrame*)pMainFrame)->m_bFavDirty = FALSE;
			nDelay=0;
		}
		else if(((CMainFrame*)pMainFrame)->m_bFavDirty)
			nDelay++;

		//auto start
		if(m_bAutoStart)
		{
			int max = ((CMainFrame*)pMainFrame)->m_ExternalUtilList.m_UtilList.GetUpperBound();
			if(m_nAutoStart <= max)
			{
				while(m_nAutoStart <= max && ((CMainFrame*)pMainFrame)->m_ExternalUtilList.m_UtilList.GetAt(m_nAutoStart)->m_bUtilStart==FALSE)
				{
					m_nAutoStart++;
				}
				if(m_nAutoStart <= max)
				{
					//start the tool
					((CMainFrame*)pMainFrame)->StartUtil(m_nAutoStart);
					m_nAutoStart++;
					((CMainFrame*)pMainFrame)->m_bNeedActive = TRUE;
				}
				else
					m_bAutoStart = FALSE;
			}
			else
				m_bAutoStart = FALSE;

		}
		
		
		if(((CMainFrame*)pMainFrame)->m_bSaveConfig)
		{
			SaveConfg();
			((CMainFrame*)pMainFrame)->m_bSaveConfig = FALSE;
		}
	}

/*2.2

//	return CWinApp::OnIdle(lCount);
	if (lCount <=0)
	{
		// send WM_IDLEUPDATECMDUI to the main window
/*		CWnd* pMainWnd = m_pMainWnd;
		if (pMainWnd != NULL && pMainWnd->m_hWnd != NULL &&
			pMainWnd->IsWindowVisible())
		{
//			AfxCallWndProc(pMainWnd, pMainWnd->m_hWnd,
//				WM_IDLEUPDATECMDUI, (WPARAM)TRUE, 0);
		}* /
	}
	else if (lCount >= 0)
	{
		AFX_MODULE_THREAD_STATE* pState = _AFX_CMDTARGET_GETSTATE()->m_thread;
		if (pState->m_nTempMapLock == 0)
		{
			// free temp maps, OLE DLLs, etc.
			AfxLockTempMaps();
			AfxUnlockTempMaps();
		}
	//	_heapmin();

	}

	return lCount < 1;  // more to do if lCount < 1
*/
//added at 2.2
	if (lCount <= 0)
	{
		ThreadOnIdle(lCount);

		// call doc-template idle hook
/*328		POSITION pos = NULL;
		if (m_pDocManager != NULL)
			pos = m_pDocManager->GetFirstDocTemplatePosition();

		while (pos != NULL)
		{
			CDocTemplate* pTemplate = m_pDocManager->GetNextDocTemplate(pos);
			ASSERT_KINDOF(CDocTemplate, pTemplate);
			pTemplate->OnIdle();
		}

*/
	}
	else if (lCount == 1)
	{
		ThreadOnIdle(lCount);
	}
	return lCount < 1;  // more to do if lCount < 1

	}
	catch(...)
	{
		return lCount < 1;
	}

}

BOOL CMyIEApp::ThreadOnIdle(LONG lCount)
{
	ASSERT_VALID(this);
/*
#if defined(_DEBUG) && !defined(_AFX_NO_DEBUG_CRT)
	// check MFC's allocator (before idle)
	if (_CrtSetDbgFlag(_CRTDBG_REPORT_FLAG) & _CRTDBG_CHECK_ALWAYS_DF)
		ASSERT(AfxCheckMemory());
#endif*/

	try{

	if (lCount <= 0)
	{
		// send WM_IDLEUPDATECMDUI to the main window
/*		CWnd* pMainWnd = m_pMainWnd;
		if (pMainWnd != NULL && pMainWnd->m_hWnd != NULL &&
			pMainWnd->IsWindowVisible())
		{
			AfxCallWndProc(pMainWnd, pMainWnd->m_hWnd,
				WM_IDLEUPDATECMDUI, (WPARAM)TRUE, 0);
			pMainWnd->SendMessageToDescendants(WM_IDLEUPDATECMDUI,
				(WPARAM)TRUE, 0, TRUE, TRUE);
		}
		// send WM_IDLEUPDATECMDUI to all frame windows
		AFX_MODULE_THREAD_STATE* pState = _AFX_CMDTARGET_GETSTATE()->m_thread;
		CFrameWnd* pFrameWnd = pState->m_frameList;
		while (pFrameWnd != NULL)
		{
			if (pFrameWnd->m_hWnd != NULL && pFrameWnd != pMainWnd)
			{
				if (pFrameWnd->m_nShowDelay == SW_HIDE)
					pFrameWnd->ShowWindow(pFrameWnd->m_nShowDelay);
				if (pFrameWnd->IsWindowVisible() ||
					pFrameWnd->m_nShowDelay >= 0)
				{
					AfxCallWndProc(pFrameWnd, pFrameWnd->m_hWnd,
						WM_IDLEUPDATECMDUI, (WPARAM)TRUE, 0);
					pFrameWnd->SendMessageToDescendants(WM_IDLEUPDATECMDUI,
						(WPARAM)TRUE, 0, TRUE, TRUE);
				}
				if (pFrameWnd->m_nShowDelay > SW_HIDE)
					pFrameWnd->ShowWindow(pFrameWnd->m_nShowDelay);
				pFrameWnd->m_nShowDelay = -1;
			}
			pFrameWnd = pFrameWnd->m_pNextFrameWnd;
		}*/
	}
	else if (lCount >= 0)
	{
		AFX_MODULE_THREAD_STATE* pState = _AFX_CMDTARGET_GETSTATE()->m_thread;
		if (pState->m_nTempMapLock == 0)
		{
			// free temp maps, OLE DLLs, etc.
			AfxLockTempMaps();
			AfxUnlockTempMaps();
		}
	}

	}catch(...)
	{
	}

/*
#if defined(_DEBUG) && !defined(_AFX_NO_DEBUG_CRT)
	// check MFC's allocator (after idle)
	if (_CrtSetDbgFlag(_CRTDBG_REPORT_FLAG) & _CRTDBG_CHECK_ALWAYS_DF)
		ASSERT(AfxCheckMemory());
#endif*/

	return lCount < 0;  // nothing more to do if lCount >= 0
}

/*
long LoadBytes()
{
	HKEY            hKey;
	long            sz = 0;
	DWORD           dwSize = 4;

	try{

	if(RegOpenKey(HKEY_DYN_DATA, _T("PerfStats\\StatData"), &hKey) != ERROR_SUCCESS)
	{
		TRACE0("Main setting not found\n");
		return -300;
	}
	dwSize = sizeof(sz);
	sz=0;
	RegQueryValueEx(hKey, _T("Dial-Up Adapter\\TotalBytesRecvd"), NULL, NULL, (LPBYTE)&sz, &dwSize);
	
	}
	catch(...)
	{
	}

	RegCloseKey(hKey);
	return sz;
}*/






⌨️ 快捷键说明

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