程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> VC >> VC++ >> 用VC6編寫注冊表管理程序

用VC6編寫注冊表管理程序

編輯:VC++

在市面上,有很多注冊表管理方面的程序,如:魔法兔子,IE保護器等。但它們對注冊表都進行固定的操作,對與windows的高級管理員來說是遠遠不夠的,還經常用到Regedit,那它是如何設計的呢?經過分析它的主要分成以下幾塊①、注冊表數據的顯示與操作;②、注冊表數據的導入與導出;③注冊表數據的查找與替換。以下介紹在VC6中對注冊表數據的顯示與操作的實現。對於後二點今後將進行闡述。

程序運行界面如下:

在VC6中創建一單文檔工程,可命名為RegExplorer,前5步可以按默認方式進行,在AppWizard對話框的Step6中,選取視圖類的基類為ClistView。

為支持樹與列表的表現形式,必須還要手工加入CregLeftView類,基類為CtreeView。並對各類對象的通信與顯示進行必要的設置。

對CregExplorerApp類的InitInstance()進行一些修改

pDocTemplate=newCSingleDocTemplate(

IDR_MAINFRAME,

RUNTIME_CLASS(CRegExplorerDoc),

RUNTIME_CLASS(CMainFrame),

RUNTIME_CLASS(CRegLeftView));//本為CRegExplorerView
在CmainFrame類中加入protected型的成員變量CSplitterWndm_wndSplitter用於實現窗口的分割,在MainFrm.cpp中加入#include"RegLeftView.h"

BOOLCMainFrame::OnCreateClient(LPCREATESTRUCTlpcs,CCreateContext*pContext)

{

if(!m_wndSplitter.CreateStatic(this,1,2))

returnFALSE;

if(!m_wndSplitter.CreateView(0,0,RUNTIME_CLASS(CRegLeftView),CSize(100,100),pContext)||

!m_wndSplitter.CreateView(0,1,RUNTIME_CLASS(CRegExplorerView),CSize(100,100),pContext))

{

m_wndSplitter.DestroyWindow();

returnFALSE;

}

m_wndSplitter.SetColumnInfo(0,200,100);

returnTRUE;

}

對文檔類CregExplorerDoc的類定義前可加入classCRegExplorerView;並加入public型的CregExplorerView指針*m_RegExplorerView;用文檔類進行對象之間的通信。

左邊樹型CregLeftView類的設計:

1.和文檔類進行通信的代碼:

在類定義前加入classCRegExplorerDoc;並在類中實現public型的成員函數

CRegExplorerDoc*CRegLeftView::GetDocument()

{

ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CRegExplorerDoc)));

return(CRegExplorerDoc*)m_pDocument;

}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved