• Announcements

    • xper

      MSFN Sponsorship and AdBlockers!   07/10/2016

      Dear members, MSFN is made available via subscriptions, donations and advertising revenue. The use of ad-blocking software hurts the site. Please disable ad-blocking software or set an exception for MSFN. Alternatively, become a site sponsor and ads will be disabled automatically and by subscribing you get other sponsor benefits.
spiritpyre

Here's some shell extensions...

205 posts in this topic

thanks guys :D nice to know they're useful :)

0

Share this post


Link to post
Share on other sites

MainSoft has some nice extensions.. haven't noticed them being mentioned

AttrMenu (version 1.0)

AttrMenu is a Windows Explorer Context Menu extension allowing direct access to a file's attributes. Much easier than using the Properties dialog box.

ExecParm (version 1.3)

ExecParm is another Context Menu extension for Windows Explorer. It allows you to run a program with parameters on the command line. Seems useless? Without ExecParm you'll have to go to the Start | Run... menu, remember the path for the executable and then enter the command line parameters. You'll see, ExecParm is much simpler, especially when used in conjunction with Clipname.

ClipName (version 1.2.3)

ClipName is also a Context Menu extension copying the full pathname of the right-clicked file to the clipboard. This new version supports copy of multiple filenames either as a space separated list or as a CRLF separated list. DOS filenames (8.3) can now also be copied as well as the URL encoded name and the UNC name for remote files. Version 1.2 now supports a Copy command for filenames without including any path, URL Encoding for multiple selections and <WORD> style encoding for Microsoft Word, Microsoft OneNote,...

http://www.mainsoft.fr/en/downloads.htm

0

Share this post


Link to post
Share on other sites

hi spiritpyre,

Thank you for these greats extensions.

I'm using The "Hidden Files Toggle" and "Files Extension Toggle".

I would like to know if you could add a registry setting for the key used to refresh because this key is dependant of the user language interface...

In french ui, "R&efresh" is "Ac&tualiser" so the key used to refresh after the SHIFT+F10 would be "t" and not "e"... so a registry setting would be great !

thanks

donbi

0

Share this post


Link to post
Share on other sites

@spiritpyre:

Thanks for those great extensions. Here are a couple of issue resolving:

- [edited] As for the refresh Hotkey (e), I'd go with Donbi saying that we, 'localized' aliens, have different hotkey for similar functions (in the french case, the 'e' doesn't refresh anything but opens the 'customize' tab of the properties dialog). That is specifically true for those underscored letters hotkey like this 'e'.

I just read somewhere else that you tried the F5 key and it didn't work (I just tried also and neither did it here). So yes, a Registry entry for that would be much needed so we can localize and use these extensions.

- second thing, IMHO, in the 'Add RegSvr32 & UnregSvr32.reg' file of your beloved 'ShExt DLL Package 1.0', the \" (escaped dblequote) are misplaced :

@="\"regsvr32.exe\" %1" should read @="regsvr32.exe \"%1\""

You don't need them arround the regsvr32.exe but depending on where is the dll, you might need it arround its path (%1).

Anyway, Thanks again for that great stuff.

Edited by Djé
0

Share this post


Link to post
Share on other sites

donbi/Djé - done and done. - see first post, just got done updating everything.

and Djé - thanks for catching that error and letting me know, its been corrected.

To set the "refresh' hotkey for your local, you need to set this reg *value like so:

Windows Registry Editor Version 5.00
;--------
;-------- Set local "refresh key"
;-------- (only 1st letter will be used; case insensitive)
;-------- (only alpha-numeric digits will work)
;--------
[HKEY_CURRENT_USER\Software\SpiritPyre Extensions]
"Refresh Key"="t"

*Also note that I changed the main subkey that everything is under as of v1.3, because I thought that "SpiritPyre Extensions" 1) is more descriptive and 2) would be easier to find/remember if people were looking for it in regedit 3) a lot less likely to overlap with another developer's conventions

I still hope to get rid of this shift+10+{e/t/?} junk eventually but I've been to busy lately and haven't even had time to check here in a while...

Edited by spiritpyre
0

Share this post


Link to post
Share on other sites

@ spiritpyre, can u post an "UpOneLevel" shell ext for browser? ty

0

Share this post


Link to post
Share on other sites

Thank you very much Spiritpyre. I happen to check this thread today for the 1st time since posting and you've just replied. Lucky Strike !

Your extensions are now working like a charm. My C: drive can now look spotless clean at will :thumbup

May I now request a "CMD prompt here" extension for the folder background? :whistle:

And also, just another localisation trick:

If you want to change the somewhat cryptic "[un]RegSvr32" texts in the dlls menu to something friendlier you can add a default value to each of the shell key like:

[HKEY_CLASSES_ROOT\dllfile\shell\RegSvr32]
@="Your text here"

As an example here is my version of RegSvr32 & UnregSvr32.reg to perform this:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\dllfile\shell]

[HKEY_CLASSES_ROOT\dllfile\shell\RegSvr32]
@="&Référencer"
[HKEY_CLASSES_ROOT\dllfile\shell\RegSvr32\Command]
@="regsvr32.exe \"%1\""

[HKEY_CLASSES_ROOT\dllfile\shell\UnregSvr32]
@="Dé-ré&férencer"
[HKEY_CLASSES_ROOT\dllfile\shell\UnregSvr32\Command]
@="regsvr32.exe /u \"%1\""

Aren't all those accents cute? I had to f***ing type the words in WORD to check the spelling!

Edited by Djé
0

Share this post


Link to post
Share on other sites

I'd also suggest a minor modification and an improvement to the "AutomationSample.cmd" inside ShExtDlls_1.1:

- adding quotes to adress any location the dll may be (I use Program Files)

- Changing the setting from the command file:

FOR %%a IN ("%DLLPATH%*.dll") DO regsvr32.exe /s "%%a"

:==============================

: Custom Settings

:==============================

REGEDIT /S "%DLLPATH%Change Settings.reg"

Of course, an .inf file would be even better. But then, I should just use the installable versions of the extensions and shut my mouth ! :rolleyes:

0

Share this post


Link to post
Share on other sites

@Spiritpyre

sweet work ive just finally gotten around to reading this thread through and youve done some impressive works, ill definalty be using a good few of your extensions

thank you

0

Share this post


Link to post
Share on other sites

can some one help me pls i cant seem to get any dills for the "Copy To' & 'Move To' in Shell Context Menu"

any help would be appreciated

thanks

0

Share this post


Link to post
Share on other sites
can some one help me pls i cant seem to get any dills for the "Copy To' & 'Move To' in Shell Context Menu"

I think you don't need any dll.

Just adding the following lines to your regtweaks should be fine:

[HKEY_CLASSES_ROOT\AllFilesystemObjects\shellex\ContextMenuHandlers]
[HKEY_CLASSES_ROOT\AllFilesystemObjects\shellex\ContextMenuHandlers\Copy To]
@="{C2FBB630-2971-11D1-A18C-00C04FD75D13}"
[HKEY_CLASSES_ROOT\AllFilesystemObjects\shellex\ContextMenuHandlers\Move To]
@="{C2FBB631-2971-11D1-A18C-00C04FD75D13}"

0

Share this post


Link to post
Share on other sites

@Djé & Delprat thank you, you guys have been a big help

0

Share this post


Link to post
Share on other sites

@ Lost Soul - thanks. I'm hoping to crank out a lot more but I haven't even been able to finish my latest project because I've been pretty busy offline. here's hopin' though. :D

@ slimzky & Djé - Those don't sound too hard; both are basically just modifications of code from existing builds. Unfortunately, I've been having some problems with my main pc and had to reformat, so I haven't had time to reinstall Visual Studio yet.... but when I get time, I'll see what I can do. Also "AutomationSample.cmd" has been fixed and pack has been updated. As for the inf, I've never written one before but if you want to make one to throw in, I'll include it and give you credit. ;)

Edited by spiritpyre
0

Share this post


Link to post
Share on other sites
Ask and you will obtain.

[Edit]I'm a bad programmer so those are currently in repair...

Here are french and english version of an .inf installer/uninstaller for your extensions.

It is easily customizable both for choosing the dll you want to use and for adapting it to other languages.

Features:

- copy the dlls in a folder inside 'Program Files'

- register the selected dlls (default to all)

- install custom strings for the toggle extensions

- add ability to register/unregister any dll (right-click)

(commands are localizable)

- add a full uninstaller for the above features in the add/delete progs control panel.

I tested it Ok on 2 machines but I'm an INF n00b so bug reports and improvement suggestions are welcome.

For usage, please RTFM at the beginning of the file.

Edited by Djé
0

Share this post


Link to post
Share on other sites
I tested it Ok on 2 machines

Are you meaning that these 3 lines do something on your machines : :blink:

[Strings]
toto="This string is the default language"

[Strings.040c]
toto="Les français de france verront cette ligne mais pas ceux du canada ou de suisse"

[Strings.000c]
toto="Les français pas de france verront cette ligne mais pas les français de france parce que les français de france ont une section rien que pour eux"

[Strings.0409]
toto="This string is seen only by american english and not by british"

The "magic numbers" i used in this example are the standard "LANG_ID", in hexadecimal.

(note that this trick works with non-ANSI langs, east-asian or arabic for example, providing you save your INF in unicode)

0

Share this post


Link to post
Share on other sites

Well, my bad.

And not only those but the inf file did not get copied correctly to the inf directory...So uninstall was anyway impossible (install works fine, btw).

Dumb me, I changed something after the test... and that test was poorly done: only checking if the entry disapeared from 'Add/remove prog' control panel.

I'm currently investigating that 'flag in [CopyAllFiles]' issue. Did not know about that before. Noob!

If I use the [strings.localID] thing, I need to repeat ALL the strings (not only the localized ones) in ALL the localized sections.

I though it would be clearer and easier to maintain by using different files. But this can be discussed.

well, wait for my second try !

Edited by Djé
0

Share this post


Link to post
Share on other sites

Well, I went back to my textbooks.

Almost all(!) my knowledge of inf file originate in the inf file inside JDOE's CABTOOL installer, (of course, later I went to gosh's, msdn and so on) so thanks to him.

And indeed, he uses succesfully the copyfiles section with no flag and the very DelDir stuff I used to delete the dir.

I just copied on him. :whistle:

But for this, he does NOT use setupapi as an inf engine (or whatever it's called) for uninstalling.

He uses advpack.dll which does the job fine with this syntax.

I did not know the difference and replaced the later by the former, which broke the uninstaller.

Well, it would have broke it if it was not already broken by the inf copying error :blushing: and by something else which I am requesting help for solving:

I can't manage to register/unregister the dlls using advpack.dll.

I tried the normal (documented) syntax and a hacked one copied on the DelDirs section syntax.

But with no result.

Anyone knows something or a good documentation source about advpack.dll inf syntax?

You may ask 'why not just use setupapi, then?'

Well, uninstalling wise, I found a couple of issues (again, any help to solve them is welcome):

-when unregistering the dll, it did not 'release' them so I couldn't delete them before next reboot.

-no such directive to delete the installation dir (I guess that's what Delprat is talkin' about).

0

Share this post


Link to post
Share on other sites

If I use the [strings.localID] thing, I need to repeat ALL the strings (not only the localized ones) in ALL the localized sections.

I though it would be clearer and easier to maintain by using different files. But this can be discussed.

An alternative would be to use only localizable strings ; 'coz different files makes more code to maintain :lol:

(egg or chicken ? well both are ill now...)

I can't manage to register/unregister the dlls using advpack.dll.

I tried the normal (documented) syntax and a hacked one copied on the DelDirs section syntax.

But with no result.

Anyone knows something or a good documentation source about advpack.dll inf syntax?

You may ask 'why not just use setupapi, then?'

Well, uninstalling wise, I found a couple of issues (again, any help to solve them is welcome):

-when unregistering the dll, it did not 'release' them so I couldn't delete them before next reboot.

-no such directive to delete the installation dir (I guess that's what Delprat is talkin' about).

I'm interested about advpack.dll inf syntax too... Even about Setupapi documentation.

About your last questions :

-> I presume that shell extensions are always in use by explorer.exe ? (try this : register your SHX, use it once, unregister it, log off, log on, try to delete the DLL with an INF and sometimes it works :wacko: )

-> there's a workaround to delete a directory with setupapi, under two conditions :

1/ the directory must be empty (no files nor subfolders) (it can be emptied by the INF file)

2/ it must reside on the same drive as the "All Users" profile ; or on the same drive as the "current user" profile (which is the same drive most times)

3/ you must know the real name of the folder (no variables)

See the attached zip file for an example : "install" setupapi.inf ; look at your "program files" dir ; then remove it with ARP control panel :thumbup

SetupAPI.zip

Edited by Delprat
0

Share this post


Link to post
Share on other sites
See the attached zip file for an example : "install" setupapi.inf
Very nice trick indeed. :thumbup

But due to the 'unregistering' problem, the whole thing is still unpractical.

What is strange is that when uregistering by hand (regsvr32 /u), there is no such file locking. You can delete the dll right after.

For now I'm just frustrated :( with this whole INF thing and I think it would be easier to have just a .cmd installer/uninstaller.

An enhanced version of spiritpyre's Install.cmd with regs and files addition and deletion integrated.

Right now, I'm busy on something else, but I may try to do it later if it's not done by someone else before. :whistle:

0

Share this post


Link to post
Share on other sites

Ousted at the .inf door, let's come back through the .cmd window! :P

Same features:

- copy the dlls in a folder inside 'Program Files'

- register the dlls

- install custom settings for the toggle extensions

- add ability to register/unregister any dll (right-click)

- add a full uninstaller for the above features in the add/delete progs control panel.

- Easy customization (language, install location, unattended or not, installed features, etc.)

@SpiritPyre: this is meant to replace your Install.cmd, but only if you think it is worth replacing ;).

Usage:

-Edit it to your needs

-put it (with the dlls you want to use) in a folder on your cd (or anywhere) and simply run it.

-no need for any other .reg file.

this time, I've been a little more serious testing it on my computers :blushing:

FullInstall.cmd

Edited by Djé
0

Share this post


Link to post
Share on other sites

can someone work on "Up One Level" shell extension? thnx..

0

Share this post


Link to post
Share on other sites

Hi Spiritpyre,

Just thought about something. Maybe you want one day to make one single shellex out of the two toggle ones, using a submenu. And maybe you could also add a third a third item to toggle system files view.

I'd see it like that :

Toggle - Extensions

--------- Hidden files

--------- System files

Edited by eidenk
0

Share this post


Link to post
Share on other sites
I'm interested about advpack.dll inf syntax too...

Here you are! I just grabbed jdoe on another thread and he posted back a zip full of documentation about advanced inf syntax. Invaluable.

With a nice trick to register/unregisterr dlls. Incredible.

With many new items available. Marvelous.

Thanks god.

OK. Now, that said, I don't have so much time to write again the inf, and the batch is working fine. B)

0

Share this post


Link to post
Share on other sites

what happened to Spiritpyre? where is he?

0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.