亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? reditview.cpp

?? wince下的注冊表編輯程序
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
	ScreenToClient(&point);
	CTreeCtrl &treeCtl = GetTreeCtrl();
	HTREEITEM hItem = treeCtl.HitTest(point, &nFlags);
	if ((nFlags & TVHT_ONITEM) && hItem)
	{
		CRegNode *pNode = (CRegNode *)GetTreeCtrl().GetItemData(hItem);
		if (pNode && !(pNode->m_dwType & REGNODE_TYPE_TOPMOST))
		{
			BOOL bRet = m_TreeTraySubMenu.TrackPopupMenu(TPM_LEFTALIGN, pointSc.x, pointSc.y, this, NULL);
		}
	}	
	*pResult = 0;
}

void CReditView::OnCreateNewKey()
{
	CDlgCreateKey dlg;
	CRegNode *pnodeItem, *pnodeItemParent;
	CTreeCtrl &treeCtl = GetTreeCtrl();
	HTREEITEM hItem = treeCtl.GetSelectedItem();
	DWORD dwDisposition;
	HKEY hNewKey, hKeyParent;
	LONG lErr;
	if (hItem)
	{
		pnodeItemParent = (CRegNode *)treeCtl.GetItemData(hItem);
		if (dlg.DoModal() == IDOK)
		{
			hKeyParent = pnodeItemParent->GetKeyHandle();
			lErr = RegCreateKeyEx(hKeyParent, dlg.m_strKeyName, 0, _T(""), REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &hNewKey, &dwDisposition);
			if (lErr == ERROR_SUCCESS)
			{
				pnodeItem = new CRegNode(dlg.m_strKeyName, REGNODE_TYPE_KEY);
				::AddNode(pnodeItem, pnodeItemParent);
				pnodeItem->m_hItem = treeCtl.InsertItem(pnodeItem->m_strName, 31, 12, hItem);
				treeCtl.SetItemData(pnodeItem->m_hItem, (DWORD)pnodeItem);
				RegCloseKey(hNewKey);
				pnodeItem->m_bLoaded = TRUE;
			}
			RegCloseKey(hKeyParent);
		}
	}
}

void CReditView::OnNewStringValue()
{
	CTreeCtrl &treeCtl = GetTreeCtrl();
	HTREEITEM hItem = treeCtl.GetSelectedItem();
	CRegNode *pNode;

	if (hItem)
	{
		pNode = (CRegNode *)treeCtl.GetItemData(hItem);
		if (pNode)
		{
			DisplayValue(pNode); // just to initialize the current node;
			CDetailView *pView = GetListView();
			pView->SendMessage(WM_COMMAND, ID_TEST_NEW_STRINGVALUE, 0);
		}
	}
}

void CReditView::OnNewDwordValue()
{
	CTreeCtrl &treeCtl = GetTreeCtrl();
	HTREEITEM hItem = treeCtl.GetSelectedItem();
	CRegNode *pNode;

	if (hItem)
	{
		pNode = (CRegNode *)treeCtl.GetItemData(hItem);
		if (pNode)
		{
			DisplayValue(pNode); // just to initialize the current node;
			CDetailView *pView = GetListView();
			pView->SendMessage(WM_COMMAND, ID_TEST_NEW_DWORDVALUE, 0);
		}
	}
}

void CReditView::OnKeyDelete()
{
	CTreeCtrl &treeCtl = GetTreeCtrl();
	HTREEITEM hItem = treeCtl.GetSelectedItem();
	CRegNode *pNode;
	CString strTemp;
	if (hItem)
	{
		pNode = (CRegNode *)treeCtl.GetItemData(hItem);
		// only allow delete nodes of one level down from Standard HKLM HKCU keys
		if (pNode)
		{
			strTemp.Format(_T("Do you really want to delete this key (%s), its subkeys and values?"), (LPCTSTR)pNode->m_strName);
			if (pNode->m_pParent && pNode->m_pParent->m_pParent &&  (AfxMessageBox(strTemp, MB_YESNO) == IDYES))
			{
				treeCtl.DeleteItem(pNode->m_hItem);
				// delete all subkeys
				CRegNode *pTemp = pNode->m_pFirstChild, *pTemp2;
				while (pTemp)
				{
					pTemp2 = pTemp;
					pTemp = pTemp->m_pNextSibling;
					delete pTemp2;
				}
				pNode->m_pFirstChild = NULL;
				pNode->m_bLoaded = FALSE;
				// load this key recursively (only keys and subkeys)
				LoadKeysRecursive(pNode);
				if (DeleteKeyRecursive(pNode))
				{
					DeleteNode(pNode);
				}
			}
		}
	}
}

void CReditView::OnKeyRename()
{
	CTreeCtrl &treeCtl = GetTreeCtrl();
	CRegNode *pNode;
	CString strTemp1;
	CDlgRenameKey dlg;
	HTREEITEM hItem, hItem2, hItem3;

	hItem = treeCtl.GetSelectedItem();
	if (hItem)
		pNode = (CRegNode *)treeCtl.GetItemData(hItem);
	if (!pNode)
		return;
	// load all values subkeys and values
	// delete key, values, subkeys and values
	// create new key, values, subkeys and values
	// delete all subkeys
	dlg.m_strOldKeyName = pNode->m_strName;
	if (dlg.DoModal() == IDOK && dlg.m_strNewKeyName.GetLength())
	{
		// delete all subkeys and values
		// reset to not loaded
		CRegNode *pTemp = pNode->m_pFirstChild, *pTemp2;
		while (pTemp)
		{
			pTemp2 = pTemp;
			pTemp = pTemp->m_pNextSibling;
			delete pTemp2;
		}
		pNode->m_pFirstChild = NULL;
		pNode->m_bLoaded = FALSE;
		pNode->m_bValuesLoaded = FALSE;
		// load this key recursively keys and subkeys and values
		LoadKeysRecursive(pNode, TRUE);
		// delete this key from registry only
		if (DeleteKeyRecursive(pNode))
		{
			// change the key name
			pNode->m_strName = dlg.m_strNewKeyName;
			// create the key, subkeys and values in registry
			CreateKeyRecursive(pNode, TRUE);
			// change item text and delete all sub tree items
			treeCtl.SetItemText(pNode->m_hItem, (LPCTSTR)pNode->m_strName);
			hItem2 = treeCtl.GetNextItem(pNode->m_hItem, TVGN_CHILD);
			while (hItem2)
			{
				hItem3 = treeCtl.GetNextItem(hItem2, TVGN_NEXT);
				treeCtl.DeleteItem(hItem2);
				hItem2 = hItem3;
			}
		}
	}
}

LONG CReditView::OnCopyKeyPath(WPARAM wParam, LPARAM lParam)
{
	CTreeCtrl &treeCtl = GetTreeCtrl();
	CRegNode *pNode;
	CString strTemp1;
	HTREEITEM hItem = treeCtl.GetSelectedItem();
	while (hItem)
	{
		pNode = (CRegNode *)treeCtl.GetItemData(hItem);
		if (pNode)
		{
			strTemp1 = pNode->m_strName + _T("\\") + strTemp1;
		}		
		hItem = treeCtl.GetParentItem(hItem);
	}
	if (strTemp1.GetLength())
	{
		if (!OpenClipboard())
		{
			AfxMessageBox(_T("Cannot copy to the Clipboard"));
			return 0;
		}
		  // Remove the current Clipboard contents
		if(!EmptyClipboard())
		{
			AfxMessageBox(_T("Cannot copy to Clipboard"));
			return 0;
		}
		// Get the currently selected data
		// For the appropriate data formats...
		HGLOBAL hData = GlobalAlloc(GMEM_MOVEABLE|GMEM_DDESHARE, (strTemp1.GetLength() + 1)* sizeof(TCHAR));
		LPVOID lpData = GlobalLock(hData);
		memcpy(lpData, (LPCTSTR)strTemp1, (strTemp1.GetLength() + 1)* sizeof(TCHAR));
		GlobalUnlock(hData);

#ifdef UNICODE
		if (::SetClipboardData(CF_UNICODETEXT, hData) == NULL)
#else
		if (::SetClipboardData(CF_TEXT, hData) == NULL)
#endif
		{
			AfxMessageBox(_T("Cannot copy to Clipboard"));
			CloseClipboard();
			return 0;
		}
		CloseClipboard();
	}
	return 1L;
}


void CReditView::OnLButtonDown(UINT nFlags, CPoint point) 
{
	// TODO: Add your message handler code here and/or call default
	CTreeCtrl &treeCtl = GetTreeCtrl();

#if defined(_WIN32_WCE)
#if !defined(_X86_) && !defined(WIN32_PLATFORM_HPC2000)
	UINT nHitFlags;
	HTREEITEM hItem = treeCtl.HitTest(point, &nHitFlags);
	if ((nHitFlags & TVHT_ONITEM) && hItem)
	{
		CRegNode *pNode = (CRegNode *)GetTreeCtrl().GetItemData(hItem);
		if (pNode && !(pNode->m_dwType & REGNODE_TYPE_TOPMOST))
		{
			m_PtGesture = point;
			ClientToScreen(&m_PtGesture);
			SHRecognizeGesture(point, TRUE);
		}
	}
#endif
#endif
	
	CTreeView::OnLButtonDown(nFlags, point);
}

#if defined(_WIN32_WCE) 
#if !defined(_X86_) && !defined(WIN32_PLATFORM_HPC2000)
void CReditView::OnContextMenu(WPARAM wParam, LPARAM lParam)
{
	NMRGINFO *pInfo = (NMRGINFO *)lParam;
	BOOL bRet = m_TreeTraySubMenu.TrackPopupMenu(TPM_LEFTALIGN, m_PtGesture.x, m_PtGesture.y, this, NULL);
}
#endif
#endif

void CReditView::OnViewRefresh()
{
	CTreeCtrl &treeCtl = GetTreeCtrl();

	HTREEITEM hItem = treeCtl.GetRootItem();
	CRegNode *pRootNode, *pTemp, *pTemp2, *pTemp3;
	if (hItem)
	{
		pRootNode = (CRegNode *)treeCtl.GetItemData(hItem);
		if (pRootNode)
		{					
			// delete everything under system reg keys
			// first delete tree nodes, then the node ptrs, because while deleting
			// selection change message happens
			pTemp = pRootNode->m_pFirstChild;
			while (pTemp)
			{
				pTemp2 = pTemp->m_pFirstChild;
				while (pTemp2)
				{
					pTemp3 = pTemp2;
					pTemp2 = pTemp2->m_pNextSibling;
					if (pTemp3->m_hItem)
						treeCtl.DeleteItem(pTemp3->m_hItem);
				}
				pTemp = pTemp->m_pNextSibling;
			}

			pTemp = pRootNode->m_pFirstChild;
			while (pTemp)
			{
				pTemp2 = pTemp->m_pFirstChild;
				while (pTemp2)
				{
					pTemp3 = pTemp2;
					pTemp2 = pTemp2->m_pNextSibling;
					delete pTemp3;
				}
				// reset 
				pTemp->m_pFirstChild = NULL;
				pTemp->m_bLoaded = FALSE;
				pTemp = pTemp->m_pNextSibling;
			}
			// 
			DisplayKey(pRootNode);
		}
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩欧美二区三区| 亚洲乱码国产乱码精品精小说 | 免费一级片91| 丰满亚洲少妇av| 欧美精三区欧美精三区| 久久久天堂av| 日韩精品一区第一页| 99久久精品国产一区二区三区| 欧美一区二区三区思思人| 亚洲视频免费看| 成人免费毛片app| 精品精品欲导航| 亚洲成人激情社区| 99精品欧美一区二区三区小说 | 久久国产精品一区二区| 日本高清不卡在线观看| 中文字幕乱码日本亚洲一区二区| 青青草伊人久久| 欧美精品日韩综合在线| 亚洲综合在线观看视频| aaa欧美色吧激情视频| 国产片一区二区| 国产黑丝在线一区二区三区| 久久综合色8888| 久久99国产精品久久| 3d动漫精品啪啪| 日日摸夜夜添夜夜添亚洲女人| 色国产综合视频| 亚洲九九爱视频| 一本久久精品一区二区| 国产精品成人免费在线| 成a人片亚洲日本久久| 国产精品情趣视频| 本田岬高潮一区二区三区| 国产精品乱码妇女bbbb| 粉嫩欧美一区二区三区高清影视| 久久婷婷一区二区三区| 国产盗摄女厕一区二区三区| 国产农村妇女精品| 99久久免费精品高清特色大片| 国产精品伦理一区二区| 色女孩综合影院| 亚洲国产精品久久人人爱| 在线成人免费观看| 日本视频一区二区三区| 久久综合九色综合欧美就去吻 | 久久99精品久久久久婷婷| 日韩欧美电影一区| 国产精品亚洲а∨天堂免在线| 国产精品视频一二| 色av综合在线| 秋霞成人午夜伦在线观看| 欧美一级一级性生活免费录像| 美腿丝袜亚洲综合| 国产欧美一区二区精品久导航| 中文字幕日韩av资源站| 丁香五精品蜜臀久久久久99网站| 中文字幕一区二区三区四区不卡| av不卡一区二区三区| 亚洲韩国一区二区三区| 精品国产a毛片| www.爱久久.com| 亚洲成人精品在线观看| 久久综合网色—综合色88| 成人黄色在线视频| 日韩电影在线看| 成人欧美一区二区三区白人| 欧美日韩精品系列| 国产高清精品网站| 亚洲国产日产av| 亚洲一区二区三区四区在线免费观看 | 免费观看一级特黄欧美大片| 久久精品一级爱片| 欧美性猛片xxxx免费看久爱| 国模一区二区三区白浆| 亚洲卡通动漫在线| 久久久五月婷婷| 欧美精选午夜久久久乱码6080| 国产a精品视频| 奇米888四色在线精品| **性色生活片久久毛片| 日韩一本二本av| 91免费版在线| 国产盗摄女厕一区二区三区| 婷婷一区二区三区| 亚洲精品伦理在线| 亚洲国产精品二十页| 日韩视频一区二区三区在线播放| 94色蜜桃网一区二区三区| 激情综合一区二区三区| 亚洲国产成人精品视频| 亚洲色图欧洲色图| 亚洲国产精华液网站w| 日韩精品一区在线观看| 欧美日韩国产天堂| 色综合 综合色| 成人激情午夜影院| 国产精品一区三区| 黑人巨大精品欧美黑白配亚洲| 丝袜美腿亚洲一区| 亚洲欧洲三级电影| 国产精品剧情在线亚洲| 国产午夜精品理论片a级大结局| 日韩久久免费av| 91精品国产综合久久久久久久久久| 成人激情免费网站| www..com久久爱| 成人午夜视频在线观看| 国产精品一二三四区| 久久99国产乱子伦精品免费| 午夜精品一区在线观看| 亚洲成人中文在线| 亚洲国产日日夜夜| 亚洲国产乱码最新视频| 亚洲一卡二卡三卡四卡五卡| 尤物av一区二区| 久久激情五月激情| 精品在线一区二区三区| 久久91精品久久久久久秒播 | 亚洲自拍与偷拍| 亚洲制服丝袜av| 亚洲国产日韩a在线播放| 丝袜美腿一区二区三区| 日韩av中文在线观看| 久久成人综合网| 国产精品一区免费在线观看| 福利电影一区二区| 91免费看视频| 欧美精品aⅴ在线视频| 欧美一区二区久久久| 久久综合av免费| 亚洲欧洲在线观看av| 亚洲一区二区免费视频| 日韩成人一区二区三区在线观看| 久久99九九99精品| 成人深夜视频在线观看| 91啪亚洲精品| 欧美天天综合网| 欧美一区永久视频免费观看| 精品国产乱码久久久久久浪潮| 国产三级三级三级精品8ⅰ区| 亚洲视频1区2区| 偷拍一区二区三区四区| 极品少妇xxxx精品少妇偷拍| 大胆欧美人体老妇| 欧美日韩卡一卡二| 久久午夜老司机| 一区二区在线观看免费 | 成人一区在线看| 欧美亚洲国产一区二区三区| 日韩三级在线观看| 欧美国产成人精品| 午夜精品成人在线| 成人性生交大片免费看在线播放| 在线观看视频一区二区| 久久伊人蜜桃av一区二区| 亚洲精品国产第一综合99久久 | www.亚洲人| 日韩视频不卡中文| 一区二区三区四区乱视频| 理论电影国产精品| 欧美在线你懂的| 欧美国产综合一区二区| 三级影片在线观看欧美日韩一区二区 | 国产视频911| 午夜影院在线观看欧美| 成人一道本在线| 欧美一区二区三区免费观看视频| 亚洲色图.com| 精品一区二区国语对白| 精品视频免费在线| 亚洲视频狠狠干| 国产91丝袜在线观看| 91精品国产福利| 一区二区久久久久| av电影在线观看一区| 久久精品一区二区三区不卡牛牛| 午夜精品福利一区二区三区av| 91在线porny国产在线看| 久久久99久久精品欧美| 日本91福利区| 欧美日韩一区二区三区四区| 亚洲视频免费在线观看| 成人国产亚洲欧美成人综合网| 日韩欧美国产一区在线观看| 午夜久久久久久久久| 欧美日韩一区久久| 一区二区三区在线免费播放| 成人一区二区三区中文字幕| 2023国产精华国产精品| 美腿丝袜在线亚洲一区| 欧美精品三级在线观看| 亚洲狠狠爱一区二区三区| 在线观看成人小视频| 亚洲理论在线观看| 91福利国产精品| 亚洲国产精品综合小说图片区| 日本精品一级二级| 亚洲一区二区精品久久av| 欧美性猛交xxxx黑人交|