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

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

?? reditview.cpp

?? Wince Driver Devolp PPT
?? 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一区二区三区免费野_久草精品视频
亚洲午夜电影在线| 粉嫩aⅴ一区二区三区四区五区| 欧美α欧美αv大片| 欧美视频在线一区二区三区| zzijzzij亚洲日本少妇熟睡| 国产一区视频导航| 六月婷婷色综合| 美女尤物国产一区| 国产一区二区三区四| 欧美亚洲另类激情小说| 国产精品乱码人人做人人爱| 国产精品入口麻豆原神| 日本伊人色综合网| 国产一区视频导航| 欧美一区二区三区播放老司机| 欧美一级艳片视频免费观看| 亚洲精品视频免费观看| 亚洲18色成人| 美国十次综合导航| 欧美日韩国产另类一区| 欧美本精品男人aⅴ天堂| 亚洲国产综合人成综合网站| 99精品国产视频| 欧美精品成人一区二区三区四区| 日韩欧美不卡在线观看视频| 国产女人18毛片水真多成人如厕 | wwwwww.欧美系列| 国产清纯美女被跳蛋高潮一区二区久久w| 亚洲大尺度视频在线观看| 一道本成人在线| 欧美高清激情brazzers| 亚洲国产精品一区二区www在线 | 久久综合中文字幕| 美女一区二区久久| 2020国产精品| 国产成人综合视频| 欧美日韩三级视频| 国产精品视频九色porn| 成人在线视频首页| 91精品国产91热久久久做人人| 婷婷夜色潮精品综合在线| 国产.精品.日韩.另类.中文.在线.播放| 精品久久久久久亚洲综合网 | 成人精品视频.| 国产精品久久久久久亚洲毛片 | 成人av在线看| 在线不卡中文字幕| 青青草原综合久久大伊人精品 | 欧美亚洲禁片免费| 首页亚洲欧美制服丝腿| 91丨国产丨九色丨pron| 2020日本不卡一区二区视频| 国产激情一区二区三区| 欧美国产一区二区| 另类欧美日韩国产在线| 久久精品人人爽人人爽| 美女视频网站黄色亚洲| 日本一区二区三区国色天香| 91亚洲资源网| 日本美女一区二区| 欧美激情一区二区三区在线| 91亚洲国产成人精品一区二三| 亚洲国产精品天堂| 久久综合久久综合久久综合| 91麻豆国产在线观看| 日韩激情中文字幕| 国产精品美女视频| 7777女厕盗摄久久久| 午夜电影一区二区三区| 久久久久九九视频| 国产剧情一区二区| 久久亚洲二区三区| 欧美少妇性性性| 国产真实乱偷精品视频免| 精品久久久久久久人人人人传媒| www.一区二区| 久久精品999| 亚洲午夜免费电影| 中文字幕欧美激情| 日韩一区二区三区视频在线| 日本不卡一二三| 亚洲人成影院在线观看| 色婷婷一区二区三区四区| 久久丁香综合五月国产三级网站| 亚洲色图制服丝袜| 日本韩国一区二区| 亚洲bdsm女犯bdsm网站| 国产精品美女视频| 久久久.com| 日韩精品一区二区三区视频| 欧美在线色视频| 日韩精品一二三区| 亚洲欧美偷拍三级| 国产欧美综合色| 欧美成人bangbros| 欧洲精品一区二区| 91亚洲国产成人精品一区二三| 久久99国产精品久久99| 国产欧美日韩麻豆91| 欧美成人女星排行榜| 欧美日韩成人在线| 欧美在线一区二区三区| 99免费精品在线| 成人免费av网站| 国产成人精品一区二区三区四区 | 欧美日韩一区二区在线观看视频 | 麻豆国产精品视频| 婷婷六月综合网| 亚洲自拍另类综合| 欧美一级一区二区| 欧美系列在线观看| 色999日韩国产欧美一区二区| 成人免费福利片| 福利一区在线观看| 成人动漫av在线| 成熟亚洲日本毛茸茸凸凹| 国产一区二区三区四区五区入口 | 亚洲一区二区三区美女| 亚洲激情综合网| 亚洲日本一区二区| 亚洲天堂av一区| 亚洲黄色av一区| 亚洲一区二区三区四区的| 亚洲高清免费观看| 日韩影院免费视频| 另类欧美日韩国产在线| 国产一区二区三区| 成人免费福利片| 欧美丝袜自拍制服另类| 欧美一区二区播放| 久久综合九色综合欧美98| 国产视频一区二区在线| 18成人在线观看| 日韩免费观看高清完整版| 久久综合色婷婷| 亚洲成av人综合在线观看| 亚洲线精品一区二区三区| 婷婷国产v国产偷v亚洲高清| 精品一区二区免费在线观看| 国产成人精品一区二| 色先锋资源久久综合| 在线综合亚洲欧美在线视频| 久久婷婷国产综合国色天香| 中文字幕在线播放不卡一区| 亚洲永久免费视频| 狠狠色综合色综合网络| a4yy欧美一区二区三区| 欧美精品777| 欧美激情一区不卡| 午夜精品一区二区三区电影天堂| 久久99久久久久久久久久久| 不卡av电影在线播放| 欧美精品v国产精品v日韩精品| 国产色婷婷亚洲99精品小说| 一区二区三区蜜桃网| 国产精品视频看| 天堂va蜜桃一区二区三区 | 国产欧美视频一区二区| 亚洲激情男女视频| 国内偷窥港台综合视频在线播放| 99在线精品视频| 欧美成人一区二区| 一区二区三区在线免费| 经典一区二区三区| 在线观看免费亚洲| 中文字幕高清一区| 日韩av中文在线观看| 91免费国产在线观看| 久久久久久97三级| 秋霞av亚洲一区二区三| 日本韩国视频一区二区| 中文字幕巨乱亚洲| 精品在线免费视频| 欧美日韩aaa| 亚洲黄色片在线观看| 99视频一区二区| 国产亚洲综合性久久久影院| 美女视频免费一区| 欧美丰满美乳xxx高潮www| 亚洲精品视频一区| 97精品久久久午夜一区二区三区 | 欧美一区二区三区啪啪| 亚洲午夜电影在线| 色婷婷精品久久二区二区蜜臂av| 久久久久久久性| 极品销魂美女一区二区三区| 欧美日韩免费视频| 亚洲一区二区三区三| 欧美亚男人的天堂| 亚洲日本电影在线| 一本久久精品一区二区| 中文字幕一区在线观看视频| 丰满白嫩尤物一区二区| 久久噜噜亚洲综合| 国产精品18久久久久| 久久蜜桃av一区二区天堂| 国产一区二区免费看| 久久久久久夜精品精品免费| 国产原创一区二区三区| 久久影音资源网|