Shell Folder Type

G

Guest

Hello, I am trying to create a new CLSID entry to create a new type of folder named "Music Album" which would be much like any other folder in Explorer, except that:

1. It uses the album.ico file within it as its icon by default, except when specified otherwise in desktop.ini,
2. Its Default double click action is to load (or enqueue) the album.m3u file into Winamp,
3. Still have the same property sheets I would find in all other folders, and
4. Windows Explorer lists its filetype as "Music Album."

So far, I have only been able to get #2 to happen. I have created a CLSID key in Regedit, and a test folder with some mp3s, an icon, and a playlist.
 
K

Kelly

Hi,

Did you use a generator for the CLSID? Meaning, is it totally unique?
If so, post the values and subkeys here. Use as an example: Line 130
http://www.kellys-korner-xp.com/xp_tweaks.htm




localhost00 said:
Hello, I am trying to create a new CLSID entry to create a new type of
folder named "Music Album" which would be much like any other folder in
Explorer, except that:
1. It uses the album.ico file within it as its icon by default, except
when specified otherwise in desktop.ini,
2. Its Default double click action is to load (or enqueue) the album.m3u file into Winamp,
3. Still have the same property sheets I would find in all other folders, and
4. Windows Explorer lists its filetype as "Music Album."

So far, I have only been able to get #2 to happen. I have created a CLSID
key in Regedit, and a test folder with some mp3s, an icon, and a playlist.
 
G

Guest

I used a key that wasn't already use

Here is the regcode I have

----------------Music Album.reg---------------
Windows Registry Editor Version 5.0

[HKEY_CLASSES_ROOT\CLSID\{F5175861-2688-11d0-9C5E-00AA00A45958}
@="Music Album

[HKEY_CLASSES_ROOT\CLSID\{F5175861-2688-11d0-9C5E-00AA00A45958}\DefaultIcon
@="%1\album.ico

[HKEY_CLASSES_ROOT\CLSID\{F5175861-2688-11d0-9C5E-00AA00A45958}\InProcServer32
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25, 00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,77,00,65,00, 62,00,63,00,68,00,65,00,63,00,6b,00,2e,00,64,00,6c,00,6c,00,00,0
"ThreadingModel"="Apartment
[HKEY_CLASSES_ROOT\CLSID\{F5175861-2688-11d0-9C5E-00AA00A45958}\shell
@="enqueue

[HKEY_CLASSES_ROOT\CLSID\{F5175861-2688-11d0-9C5E-00AA00A45958}\shell\enqueue
@="Enqueue in Winamp

[HKEY_CLASSES_ROOT\CLSID\{F5175861-2688-11d0-9C5E-00AA00A45958}\shell\enqueue\command
@="c:\\winamp\\winamp.exe /add \"%1\\index.m3u\"

[HKEY_CLASSES_ROOT\CLSID\{F5175861-2688-11d0-9C5E-00AA00A45958}\shell\play
@="Play in Winamp

[HKEY_CLASSES_ROOT\CLSID\{F5175861-2688-11d0-9C5E-00AA00A45958}\shell\play\command
@="c:\\winamp\\winamp.exe \"%1\\index.m3u\"

----------------End Music Album.reg---------------

----------------Desktop.ini---------------
[.ShellClassInfo
CLSID={F5175861-2688-11d0-9C5E-00AA00A45958
----------------End Desktop.ini---------------

Now, I have been trying to research what shellex and ShellFolder\Attributes do, but I haven't been able to find answers

Thanks for the script, bt it doesn't get at my goal, which is not to put a System Folder Icon on the desktop and My Computer, but to change the behavior of a collection of Folders
 
D

David Candy

Re 3, you'll have to copy the values for the property from Directory to your custom one. And set the flag below saying it's there. It's type will be folder or system folder.

IShellFolder::parseDisplayName


Translates a file object's or folder's display name into an item identifier list.
HRESULT ParseDisplayName(
HWND hwnd,
LPBC pbc,
LPOLESTR pszDisplayName,
ULONG *pchEaten,
LPITEMIDLIST *ppidl,
ULONG *pdwAttributes
);

Parameters
hwndOwner
[in] Optional window handle. The client should provide a window handle if it displays a dialog or message box. Otherwise set hwndOwner to NULL.
pbc
[in] Optional bind context that controls the parsing operation. This parameter is normally set to NULL.
lpwszDisplayName
[in] Null-terminated UNICODE string with the display name. Because each Shell folder defines its own parsing syntax, the form this string can take may vary. The desktop folder, for instance, accepts paths such as "c:\My Docs\My File.txt". It also will accept references to items in the namespace that have a globally unique identifier (GUID) associated with them using the "::{GUID}" syntax. For example, to retrieve a fully qualified identifier list for the Control Panel from the desktop folder, you can use:
"{CLSID for My Computer}\::{CLSID for the Control Panel}"
pchEaten
[out] Pointer to a ULONG value that receives the number of characters of the display name that was parsed. If your application does not need this information, set pchEaten to NULL, and no value will be returned.
ppidl
[out] Pointer to an ITEMIDLIST pointer that receives the item identifier list for the object. The returned item identifier list specifies the item relative to the parsing folder. If the object associated with lpwszDisplayName is within the parsing folder, the returned item identifier list will contain only one SHITEMID structure. If the object is in a subfolder of the parsing folder, the returned item identifier list will contain multiple SHITEMID structures. If an error occurs, NULL is returned in this address.
pdwAttributes
[in/out] Optional parameter that can be used to query for file attributes. If not used, it should be set to NULL. To query for one or more attributes, initialize the pdwAttributes with the flags that represent the attributes of interest. On return, those attributes that are true and were requested will be set. A file object's attribute flags may be zero or a combination of the following values:
ValueDescription
SFGAO_CANCOPY The specified file objects or folders can be copied (same value as the DROPEFFECT_COPY flag).
SFGAO_CANDELETE The specified file objects or folders can be deleted.
SFGAO_CANLINK Shortcuts can be created for the specified file objects or folders. This flag has the same value as DROPEFFECT_LINK. Typically, this flag is used to add a "Create Shortcut" item to the shortcut menu that is displayed during drag-and-drop operations. However, SFGAO_CANLINK also adds a "Create Shortcut" item to the Windows Explorer's File menu, and to normal shortcut menus. If this item is selected, your application's IContextMenu::InvokeCommand will be invoked with the lpVerb member of the CMINVOKECOMMANDINFO structure set to "link". Your application is responsible for creating the link.
SFGAO_CANMONIKERIt is possible to create monikers for the specified file objects or folders.
SFGAO_CANMOVE The specified file objects or folders can be moved (same value as the DROPEFFECT_MOVE flag).
SFGAO_CANRENAME The specified file objects or folders can be renamed. Note that this flag is essentially a suggestion. It does not guarantee that a namespace client will rename the file or folder object.
SFGAO_CAPABILITYMASK This flag is a mask for the capability flags.
SFGAO_DROPTARGET The specified file objects or folders are drop targets.
SFGAO_HASPROPSHEET The specified file objects or folders have property sheets.

A file object's display attributes may be zero or a combination of the following values:
ValueDescription
SFGAO_DISPLAYATTRMASK This flag is a mask for the display attributes.
SFGAO_GHOSTED The specified file objects or folders should be displayed using a ghosted icon.
SFGAO_LINK The specified file objects are shortcuts.
SFGAO_READONLY The specified file objects or folders are read-only.
SFGAO_SHARE The specified folders are shared.

A file object's contents flags may be zero or a combination of the following values:
ValueDescription
SFGAO_CONTENTSMASK This flag is a mask for the contents attributes.
SFGAO_HASSUBFOLDER The specified folders have subfolders (and are, therefore, expandable in the left pane of Windows® Explorer).

A file object's miscellaneous attributes may be zero or a combination of the following values:
ValueDescription
SFGAO_BROWSABLE The specified items can be browsed in place.
SFGAO_COMPRESSED The specified items are compressed.
SFGAO_FILESYSTEM The specified folders or file objects are part of the file system (that is, they are files, directories, or root directories).
SFGAO_FILESYSANCESTOR The specified folders contain one or more file system folders.
SFGAO_FOLDER The specified items are folders.
SFGAO_NEWCONTENT The objects contain new content.
SFGAO_NONENUMERATED The items are nonenumerated items.
SFGAO_REMOVABLE The specified file objects or folders are on removable media.
SFGAO_VALIDATE This flag is used to confirm the existence of the folder or object that corresponds to lpwszDisplayName. Not every folder implements this flag, but if it is passed in to ParseDisplayName, and the folder or object does not exist, a failure code should be returned.

Return Values
Returns NOERROR if successful, or an OLE-defined error value otherwise.
Remarks
Some Shell folders may not implement ParseDisplayName. Each folder that does will define its own parsing syntax.
Querying for some attributes may be relatively slow and use significant amounts of memory. For example, to determine if a file is shared, the Shell will load network components. This procedure may require the loading of several DLLs. The purpose of dwAttributes is to allow you to restrict the query to only that information that is needed. The following code fragment illustrates how to find out if a file is compressed:
IShellFolder *psf;
DWORD dwAttribs = SFGAO_COMPRESSED;
....
hres = psf->ParseDisplayName(NULL,
NULL,
lpwszDisplayName,
&cbEaten,
&pidl,
&dwAttribs);
if(dwAttribs & SFGAO_COMPRESSED)
{
//do something with the compressed file
}

Since pdwAttributes is an in/out parameter, it should always be initialized. If you pass in an uninitialized value, some of the bits may be set. ParseDisplayName will then query for the corresponding attributes, which may lead to undesirable delays or memory demands. If you do not wish to query for attributes, set pdwAttributes to NULL to avoid unpredictable behavior.
This method is similar to the OLE IParseDisplayName::parseDisplayName method.
See Also
IShellFolder, IShellLink, IShellFolder::GetAttributesOf
Requirements
Version 4.00 and later of Shell32.dll
Windows NT/2000: Requires Windows NT 4.0 or later.
Windows 95/98/Me: Requires Windows 95 or later.
Header: Declared in Shlobj.h.

--
----------------------------------------------------------
http://www.g2mil.com/Dec2003.htm
localhost00 said:
I used a key that wasn't already used

Here is the regcode I have:


----------------Music Album.reg----------------
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\CLSID\{F5175861-2688-11d0-9C5E-00AA00A45958}]
@="Music Album"

[HKEY_CLASSES_ROOT\CLSID\{F5175861-2688-11d0-9C5E-00AA00A45958}\DefaultIcon]
@="%1\album.ico"

[HKEY_CLASSES_ROOT\CLSID\{F5175861-2688-11d0-9C5E-00AA00A45958}\InProcServer32]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25, 00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,77,00,65,00, 62,00,63,00,68,00,65,00,63,00,6b,00,2e,00,64,00,6c,00,6c,00,00,00
"ThreadingModel"="Apartment"
[HKEY_CLASSES_ROOT\CLSID\{F5175861-2688-11d0-9C5E-00AA00A45958}\shell]
@="enqueue"

[HKEY_CLASSES_ROOT\CLSID\{F5175861-2688-11d0-9C5E-00AA00A45958}\shell\enqueue]
@="Enqueue in Winamp"

[HKEY_CLASSES_ROOT\CLSID\{F5175861-2688-11d0-9C5E-00AA00A45958}\shell\enqueue\command]
@="c:\\winamp\\winamp.exe /add \"%1\\index.m3u\""


[HKEY_CLASSES_ROOT\CLSID\{F5175861-2688-11d0-9C5E-00AA00A45958}\shell\play]
@="Play in Winamp"

[HKEY_CLASSES_ROOT\CLSID\{F5175861-2688-11d0-9C5E-00AA00A45958}\shell\play\command]
@="c:\\winamp\\winamp.exe \"%1\\index.m3u\""

----------------End Music Album.reg----------------


----------------Desktop.ini----------------
[.ShellClassInfo]
CLSID={F5175861-2688-11d0-9C5E-00AA00A45958}
----------------End Desktop.ini----------------

Now, I have been trying to research what shellex and ShellFolder\Attributes do, but I haven't been able to find answers.

Thanks for the script, bt it doesn't get at my goal, which is not to put a System Folder Icon on the desktop and My Computer, but to change the behavior of a collection of Folders.
 
D

David Candy

Re 3, you'll have to copy the values for the property from Directory to your custom one. And set the flag below saying it's there. It's type will be folder or system folder.

IShellFolder::parseDisplayName


Translates a file object's or folder's display name into an item identifier list.
HRESULT ParseDisplayName(
HWND hwnd,
LPBC pbc,
LPOLESTR pszDisplayName,
ULONG *pchEaten,
LPITEMIDLIST *ppidl,
ULONG *pdwAttributes
);

Parameters
hwndOwner
[in] Optional window handle. The client should provide a window handle if it displays a dialog or message box. Otherwise set hwndOwner to NULL.
pbc
[in] Optional bind context that controls the parsing operation. This parameter is normally set to NULL.
lpwszDisplayName
[in] Null-terminated UNICODE string with the display name. Because each Shell folder defines its own parsing syntax, the form this string can take may vary. The desktop folder, for instance, accepts paths such as "c:\My Docs\My File.txt". It also will accept references to items in the namespace that have a globally unique identifier (GUID) associated with them using the "::{GUID}" syntax. For example, to retrieve a fully qualified identifier list for the Control Panel from the desktop folder, you can use:
"{CLSID for My Computer}\::{CLSID for the Control Panel}"
pchEaten
[out] Pointer to a ULONG value that receives the number of characters of the display name that was parsed. If your application does not need this information, set pchEaten to NULL, and no value will be returned.
ppidl
[out] Pointer to an ITEMIDLIST pointer that receives the item identifier list for the object. The returned item identifier list specifies the item relative to the parsing folder. If the object associated with lpwszDisplayName is within the parsing folder, the returned item identifier list will contain only one SHITEMID structure. If the object is in a subfolder of the parsing folder, the returned item identifier list will contain multiple SHITEMID structures. If an error occurs, NULL is returned in this address.
pdwAttributes
[in/out] Optional parameter that can be used to query for file attributes. If not used, it should be set to NULL. To query for one or more attributes, initialize the pdwAttributes with the flags that represent the attributes of interest. On return, those attributes that are true and were requested will be set. A file object's attribute flags may be zero or a combination of the following values:
ValueDescription
SFGAO_CANCOPY The specified file objects or folders can be copied (same value as the DROPEFFECT_COPY flag).
SFGAO_CANDELETE The specified file objects or folders can be deleted.
SFGAO_CANLINK Shortcuts can be created for the specified file objects or folders. This flag has the same value as DROPEFFECT_LINK. Typically, this flag is used to add a "Create Shortcut" item to the shortcut menu that is displayed during drag-and-drop operations. However, SFGAO_CANLINK also adds a "Create Shortcut" item to the Windows Explorer's File menu, and to normal shortcut menus. If this item is selected, your application's IContextMenu::InvokeCommand will be invoked with the lpVerb member of the CMINVOKECOMMANDINFO structure set to "link". Your application is responsible for creating the link.
SFGAO_CANMONIKERIt is possible to create monikers for the specified file objects or folders.
SFGAO_CANMOVE The specified file objects or folders can be moved (same value as the DROPEFFECT_MOVE flag).
SFGAO_CANRENAME The specified file objects or folders can be renamed. Note that this flag is essentially a suggestion. It does not guarantee that a namespace client will rename the file or folder object.
SFGAO_CAPABILITYMASK This flag is a mask for the capability flags.
SFGAO_DROPTARGET The specified file objects or folders are drop targets.
SFGAO_HASPROPSHEET The specified file objects or folders have property sheets.

A file object's display attributes may be zero or a combination of the following values:
ValueDescription
SFGAO_DISPLAYATTRMASK This flag is a mask for the display attributes.
SFGAO_GHOSTED The specified file objects or folders should be displayed using a ghosted icon.
SFGAO_LINK The specified file objects are shortcuts.
SFGAO_READONLY The specified file objects or folders are read-only.
SFGAO_SHARE The specified folders are shared.

A file object's contents flags may be zero or a combination of the following values:
ValueDescription
SFGAO_CONTENTSMASK This flag is a mask for the contents attributes.
SFGAO_HASSUBFOLDER The specified folders have subfolders (and are, therefore, expandable in the left pane of Windows® Explorer).

A file object's miscellaneous attributes may be zero or a combination of the following values:
ValueDescription
SFGAO_BROWSABLE The specified items can be browsed in place.
SFGAO_COMPRESSED The specified items are compressed.
SFGAO_FILESYSTEM The specified folders or file objects are part of the file system (that is, they are files, directories, or root directories).
SFGAO_FILESYSANCESTOR The specified folders contain one or more file system folders.
SFGAO_FOLDER The specified items are folders.
SFGAO_NEWCONTENT The objects contain new content.
SFGAO_NONENUMERATED The items are nonenumerated items.
SFGAO_REMOVABLE The specified file objects or folders are on removable media.
SFGAO_VALIDATE This flag is used to confirm the existence of the folder or object that corresponds to lpwszDisplayName. Not every folder implements this flag, but if it is passed in to ParseDisplayName, and the folder or object does not exist, a failure code should be returned.

Return Values
Returns NOERROR if successful, or an OLE-defined error value otherwise.
Remarks
Some Shell folders may not implement ParseDisplayName. Each folder that does will define its own parsing syntax.
Querying for some attributes may be relatively slow and use significant amounts of memory. For example, to determine if a file is shared, the Shell will load network components. This procedure may require the loading of several DLLs. The purpose of dwAttributes is to allow you to restrict the query to only that information that is needed. The following code fragment illustrates how to find out if a file is compressed:
IShellFolder *psf;
DWORD dwAttribs = SFGAO_COMPRESSED;
....
hres = psf->ParseDisplayName(NULL,
NULL,
lpwszDisplayName,
&cbEaten,
&pidl,
&dwAttribs);
if(dwAttribs & SFGAO_COMPRESSED)
{
//do something with the compressed file
}

Since pdwAttributes is an in/out parameter, it should always be initialized. If you pass in an uninitialized value, some of the bits may be set. ParseDisplayName will then query for the corresponding attributes, which may lead to undesirable delays or memory demands. If you do not wish to query for attributes, set pdwAttributes to NULL to avoid unpredictable behavior.
This method is similar to the OLE IParseDisplayName::parseDisplayName method.
See Also
IShellFolder, IShellLink, IShellFolder::GetAttributesOf
Requirements
Version 4.00 and later of Shell32.dll
Windows NT/2000: Requires Windows NT 4.0 or later.
Windows 95/98/Me: Requires Windows 95 or later.
Header: Declared in Shlobj.h.


--
----------------------------------------------------------
http://www.g2mil.com/Dec2003.htm
localhost00 said:
I used a key that wasn't already used

Here is the regcode I have:


----------------Music Album.reg----------------
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\CLSID\{F5175861-2688-11d0-9C5E-00AA00A45958}]
@="Music Album"

[HKEY_CLASSES_ROOT\CLSID\{F5175861-2688-11d0-9C5E-00AA00A45958}\DefaultIcon]
@="%1\album.ico"

[HKEY_CLASSES_ROOT\CLSID\{F5175861-2688-11d0-9C5E-00AA00A45958}\InProcServer32]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25, 00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,77,00,65,00, 62,00,63,00,68,00,65,00,63,00,6b,00,2e,00,64,00,6c,00,6c,00,00,00
"ThreadingModel"="Apartment"
[HKEY_CLASSES_ROOT\CLSID\{F5175861-2688-11d0-9C5E-00AA00A45958}\shell]
@="enqueue"

[HKEY_CLASSES_ROOT\CLSID\{F5175861-2688-11d0-9C5E-00AA00A45958}\shell\enqueue]
@="Enqueue in Winamp"

[HKEY_CLASSES_ROOT\CLSID\{F5175861-2688-11d0-9C5E-00AA00A45958}\shell\enqueue\command]
@="c:\\winamp\\winamp.exe /add \"%1\\index.m3u\""


[HKEY_CLASSES_ROOT\CLSID\{F5175861-2688-11d0-9C5E-00AA00A45958}\shell\play]
@="Play in Winamp"

[HKEY_CLASSES_ROOT\CLSID\{F5175861-2688-11d0-9C5E-00AA00A45958}\shell\play\command]
@="c:\\winamp\\winamp.exe \"%1\\index.m3u\""

----------------End Music Album.reg----------------


----------------Desktop.ini----------------
[.ShellClassInfo]
CLSID={F5175861-2688-11d0-9C5E-00AA00A45958}
----------------End Desktop.ini----------------

Now, I have been trying to research what shellex and ShellFolder\Attributes do, but I haven't been able to find answers.

Thanks for the script, bt it doesn't get at my goal, which is not to put a System Folder Icon on the desktop and My Computer, but to change the behavior of a collection of Folders.
 
K

Kelly

Hi,

You didn't 'create' a CLSID like you previously mentioned, you are using the
CLSID that is specifically for the Subscription Folder and uses the
webcheck.dll, only modified.

You need to use a generator. Uuidgen is an option. Once dowloaded and
extracted: To use, Start/Run/CMD/<path>. To copy the key, highlight, hit
enter, paste.

As for Shellex: The subkeys contain the Context Menu Handlers, etc.

As for Attributes: The values stipulate whether the right click action
offers: Open, Edit, Explore, Rename, Delete.....etc.

Note: Default icons are not generally written in that manner.

Good luck!



localhost00 said:
I used a key that wasn't already used

Here is the regcode I have:


----------------Music Album.reg----------------
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\CLSID\{F5175861-2688-11d0-9C5E-00AA00A45958}]
@="Music Album"

[HKEY_CLASSES_ROOT\CLSID\{F5175861-2688-11d0-9C5E-00AA00A45958}\DefaultIcon]
@="%1\album.ico"
[HKEY_CLASSES_ROOT\CLSID\{F5175861-2688-11d0-9C5E-00AA00A45958}\InProcServer
32]@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,2
5,
00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,77,00,65,00,
62,00,63,00,68,00,65,00,63,00,6b,00,2e,00,64,00,6c,00,6c,00,00,00
"ThreadingModel"="Apartment"
[HKEY_CLASSES_ROOT\CLSID\{F5175861-2688-11d0-9C5E-00AA00A45958}\shell]
@="enqueue"
[HKEY_CLASSES_ROOT\CLSID\{F5175861-2688-11d0-9C5E-00AA00A45958}\shell\enqueu
e]
@="Enqueue in Winamp"

[HKEY_CLASSES_ROOT\CLSID\{F5175861-2688-11d0-9C5E-00AA00A45958}\shell\enqueu
e\command]
@="c:\\winamp\\winamp.exe /add \"%1\\index.m3u\""


[HKEY_CLASSES_ROOT\CLSID\{F5175861-2688-11d0-9C5E-00AA00A45958}\shell\play]
@="Play in Winamp"

[HKEY_CLASSES_ROOT\CLSID\{F5175861-2688-11d0-9C5E-00AA00A45958}\shell\play\c
ommand]
@="c:\\winamp\\winamp.exe \"%1\\index.m3u\""

----------------End Music Album.reg----------------


----------------Desktop.ini----------------
[.ShellClassInfo]
CLSID={F5175861-2688-11d0-9C5E-00AA00A45958}
----------------End Desktop.ini----------------

Now, I have been trying to research what shellex and
ShellFolder\Attributes do, but I haven't been able to find answers.
Thanks for the script, bt it doesn't get at my goal, which is not to put a
System Folder Icon on the desktop and My Computer, but to change the
behavior of a collection of Folders.
 
G

Guest

Oops, I grabbed that out of a reg file where I didn't change the GUID.....
The GUID I am using is ......5959}, right below the Subscription Folder
 
D

David Candy

Kelly and I have discused you. We think you're barking up the wrong tree.

Describe what you are trying to do without pre conceptions of how to do it. The only answer I think is correct for your current approach is to write a name space extension. You need to be an advanced C programmer or a very advanced other language programmer. You basically write a replacement folder viewing program that is used with your folders.

I have posted large technical references to this thread just in case you can muddle through and get something what you want without programming but the server swallows them.

Writing an htt (eg a web page with a special extension) and web page scripting can probably achieve what you want as well. Have a look at http://www.angelfire.com/biz/serenitymacros/
While this is just a enhanced version of the standard one I could refuse to show files, start a program and close the window or anything. It's not really compatable with XP and with XP it has to be installed by hand per folder rather than automatically like previous versions.

But runn the setup program which starts a setup folder (similar in concept with what you are trying to do). The setup folder (setup.exe is just a self extractor) works fine on XP. It's just that XP ignores the registry entries it writes to make the program it installs to work in a user friendly manner.
 
K

Kelly

Did you get it from a generator or just made it up/modified it from 5957 to
5959? Dangerous business. Good luck!
 
K

Kelly

Thank you, David. Have I told you lately that you are brilliant? :blush:)




Kelly and I have discused you. We think you're barking up the wrong tree.

Describe what you are trying to do without pre conceptions of how to do it.
The only answer I think is correct for your current approach is to write a
name space extension. You need to be an advanced C programmer or a very
advanced other language programmer. You basically write a replacement folder
viewing program that is used with your folders.

I have posted large technical references to this thread just in case you can
muddle through and get something what you want without programming but the
server swallows them.

Writing an htt (eg a web page with a special extension) and web page
scripting can probably achieve what you want as well. Have a look at
http://www.angelfire.com/biz/serenitymacros/
While this is just a enhanced version of the standard one I could refuse to
show files, start a program and close the window or anything. It's not
really compatable with XP and with XP it has to be installed by hand per
folder rather than automatically like previous versions.

But runn the setup program which starts a setup folder (similar in concept
with what you are trying to do). The setup folder (setup.exe is just a self
extractor) works fine on XP. It's just that XP ignores the registry entries
it writes to make the program it installs to work in a user friendly manner.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top