65.9K
CodeProject is changing. Read more.
Home

Use CLSID to secure folders in WinXP

Jul 6, 2006

viewsIcon

47661

downloadIcon

671

Using CLSID to secure folders in WinXP.

Sample Image - folderhide.jpg

Introduction

In Win98, people use the "¦" character to rename folders and lock them or hide them.

Situation

The trouble began with WinXP when WinXP supported all such characters for folder names thus making life hell for hiding-freaks. Well, many folder lock software are available but whatever I found out on the net are different.

Idea

You must have noticed that the MyComputer and Recycle Bin folders behave very similar to a normal folder but still they are different. Just check out your registry:

HKLM\Software\software\classes\clsid\{20D04FE0-3AEA-1069-A2D8-08002B30309D}

Click the default property..... surprised? Yes, that's "My Computer". What this number "20D04FE0-3AEA-1069-A2D8-08002B30309D" represents is a CLSID.

CLSID is short for Class ID. CLSID is the identification of a COM object. Applications that support Microsoft's COM architecture register their objects as class IDs.

CLSIDs

.{20D04FE0-3AEA-1069-A2D8-08002B30309D} (= My Computer) 
.{450D8FBA-AD25-11D0-98A8-0800361B1103} (= My Documents) 
.{208D2C60-3AEA-1069-A2D7-08002B30309D} (= My Network Places) 
.{645FF040-5081-101B-9F08-00AA002F954E} (= Recycle Bin) 
.{871C5380-42A0-1069-A2EA-08002B30309D} (= Internet Explorer) 
.{21EC2020-3AEA-1069-A2DD-08002B30309D} (= Control Panel) 
.{D20EA4E1-3957-11D2-A40B-0C5020524153} (= Administrative Tools) 
.{00020D75-0000-0000-C000-000000000046} (= Inbox) 
.{D20EA4E1-3957-11D2-A40B-0C5020524152} (= Fonts) 
.{7007ACC7-3202-11D1-AAD2-00805FC1270E} (= Network Connections) 
.{2227A280-3AEA-1069-A2DE-08002B30309D} (= Printers and Faxes) 
.{7BE9D83C-A729-4D97-b5A7-1B7313C39E0A} (= Programs Folder) 
.{E211B736-43FD-11D1-9EFB-0000F8757FCD} (= Scanners and Cameras) 
.{D6277990-4C6A-11CF-8D87-00AA0060F5BF} (= Scheduled Tasks) 
.{48E7CAAB-B918-4E58-A94D-505519C795DC} (= Start Menu Folder) 
.{7BD29E00-76C1-11CF-9DD0-00A0C9034933} (= Temporary Internet Files) 
.{BDEADF00-C265-11d0-BCED-00A0C90AB50F} (= Web Folders) 
.{6DFD7C5C-2451-11D3-A299-00C04F8EF6AF} (= Folder Options) 
.{00020801-0000-0000-C000-000000000046} (= Folder) 
.{00021400-0000-0000-C000-000000000046} (= Another Folder)

Finally

Now, in my program, what have I done? That's so simple...

  • select a folder
  • rename it with this class ID

Voila...check the folder location... it's not there. Instead there is MyComputer.