Click to open or copy the files for the RegView sample.
RegView is a simple example of a shell name space extension. It implements the minimum number of interfaces required to create a multi-level name space extension.
RegView will display the registry similar to the way that Regedit.exe does, except that the registry information can only be viewed. The sample does not support modification of the registry, although this functionality can be added if desired. Once the extension DLL is built and registered, an item called "Registry View" will be available on the desktop and within the Explorer tree. Note: this sample will not run or build on Alpha and will only run with IE4 final release or later.
This sample uses the following keywords:
addpropertysheetpages; addref; addremovedockingwindow; addtoenumlist; addtoolbar; alloc; arraysize; beginpaint; bindtoobject; bindtostorage; browseobject; buildregistrymenu; candoidockingwindow; cclassfactory; cdockingwindow; cenumidlist; cextracticon; checkmenuitem; clone; closedw; cogetmalloc; compareids; compareitems; concatenate; contextsensitivehelp; copy; copymemory; cpidlmgr; cqueryinfo; create; createenumlist; createimagelists; createinstance; createlist; createmenu; createpopupmenu; createrootkey; createsolidbrush; createsubkey; createvalue; createviewobject; createviewwindow; createwindowex; cshellfolder; cshellview; data_seg; define_guid; defwindowproc; delete; deletelist; destroyimagelists; destroymenu; destroyviewwindow; destroywindow; dllcanunloadnow; dllgetclassobject; dllmain; dllregisterserver; drawtext; enablemenuitem; enablemodeless; endpaint; enumobjects; exec; extract; failed; filllist; focuschange; free; freelibrary; get_shgdn_for; get_shgdn_relation; get_wm_command_cmd; get_wm_command_hwnd; get_wm_command_id; getattributesof; getborderdw; getclassid; getclassinfo; getclientrect; getcurrentinfo; getdata; getdatapointer; getdatatext; getdisplaynameof; getfolderpath; getfoldertext; getglobalsettings; geticonlocation; getinfoflags; getinfotip; getitemobject; getitemtext; getkeyname; getlastitem; getmenuiteminfo; getmodulefilename; getnextitem; getpidlpath; getprocaddress; getrootkey; getrootkeytext; getsite; getsize; getsubkeytext; getsystemmetrics; getuiobjectof; getvaluename; getvaluetext; getvaluetype; getversionex; getwindow; getwindowlong; hasfocusio; hassubkeys; imagelist_addicon; imagelist_create; imagelist_destroy; imagelist_geticon; initcommoncontrols; initcommoncontrolsex; initialize; initlist; insertmenuitem; insertmenussb; invalidaterect; isequalclsid; isequaliid; isrootkey; issubkey; isvalue; iswindow; listview_deleteallitems; listview_getcolumnwidth; listview_getitem; listview_getitemcount; listview_getitemstate; listview_insertcolumn; listview_insertitem; listview_setextendedlistviewstyle; listview_setimagelist; listview_sortitems; loadcursor; loadimage; loadlibrary; loadstring; localtowidechar; lockserver; lstrcat; lstrcmpi; lstrcpy; lstrcpyn; lstrlen; lstrlenw; makeintresource; mergefilemenu; mergeviewmenu; messagebeep; movewindow; multibytetowidechar; negotiateborderspace; next; onactivate; oncommand; oncreate; ondeactivate; onfocuschangeis; onkillfocus; onnotify; onpaint; onsetfocus; onsettingchange; onsize; onviewwindowactive; parsedisplayname; queryinterface; queryservice; querystatus; refresh; regclosekey; regcreatekeyex; regenumkeyex; regenumvalue; registerclass; regopenkeyex; regqueryvalueex; regsetvalueex; release; removemenussb; removetoolbar; requestborderspacedw; reset; resizeborderdw; rgb; rootkeyexists; saveglobalsettings; saveviewstate; selectitem; sendcontrolmsg; sendmessage; separatekeyandvalue; setbkmode; setborderspacedw; setfocus; setmenusb; setnameof; setsite; settextcolor; setwindowlong; shgetmalloc; showdw; showwindow; skip; stdmethod; stdmethodimp_; stringfromiid; succeeded; switch; text; translateaccelerator; translateacceleratorio; uiactivate; uiactivateio; updatemenu; updateshellsettings; updatewindow; widechartolocal; widechartomultibyte; wndproc; wsprintf; zeromemory