Jump to content

Welcome to MSFN Forum
Register now to gain access to all of our features. Once registered and logged in, you will be able to create topics, post replies to existing threads, give reputation to your fellow members, get your own private messenger, post status updates, manage your profile and so much more. This message will be removed once you have signed in.
Login to Account Create an Account


Photo

Here's some shell extensions...

* * * * * 2 votes

  • Please log in to reply
204 replies to this topic

#76
spiritpyre

spiritpyre

    Grand Poobah

  • Member
  • PipPip
  • 191 posts
thanks guys :D nice to know they're useful :)


How to remove advertisement from MSFN

#77
Sphinx-cn

Sphinx-cn

    Newbie

  • Member
  • 18 posts
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....n/downloads.htm

#78
donbi

donbi

    Newbie

  • Member
  • 32 posts
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

#79
Djé

Djé

    accent artist

  • Member
  • PipPipPip
  • 359 posts
@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é, 17 February 2006 - 03:35 AM.

Those who do not learn from History are doomed to repeatedly fail their History exams.

#80
spiritpyre

spiritpyre

    Grand Poobah

  • Member
  • PipPip
  • 191 posts
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, 25 February 2006 - 12:16 AM.


#81
slimzky

slimzky

    Self-Taught Geek

  • Member
  • PipPipPip
  • 413 posts
  • OS:Windows 8 x64
  • Country: Country Flag
@ spiritpyre, can u post an "UpOneLevel" shell ext for browser? ty
Posted Image

#82
Djé

Djé

    accent artist

  • Member
  • PipPipPip
  • 359 posts
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é, 04 March 2006 - 01:02 AM.

Those who do not learn from History are doomed to repeatedly fail their History exams.

#83
Djé

Djé

    accent artist

  • Member
  • PipPipPip
  • 359 posts
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:
Those who do not learn from History are doomed to repeatedly fail their History exams.

#84
Lost Soul

Lost Soul

    Snap ... Crackle ... Pop

  • Member
  • PipPipPipPipPipPipPip
  • 1,746 posts
@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

This is not the end. It is not even the beginning of the end. But, it is, perhaps, the end of the beginning.

- Winston Churchill

#85
Lost Soul

Lost Soul

    Snap ... Crackle ... Pop

  • Member
  • PipPipPipPipPipPipPip
  • 1,746 posts
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

This is not the end. It is not even the beginning of the end. But, it is, perhaps, the end of the beginning.

- Winston Churchill

#86
Djé

Djé

    accent artist

  • Member
  • PipPipPip
  • 359 posts

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}"

Those who do not learn from History are doomed to repeatedly fail their History exams.

#87
Delprat

Delprat

    Poll: Why are you reading this ?

  • Member
  • PipPipPip
  • 481 posts

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


No DLL required for these two, only a few reg keys.

Look at this post :
http://www.msfn.org/...02

and take the first one !

KISSes from France !

Will you take part in the microwave oven contest on msfn.org ?

The best game ever created is open-source and cross-platform. Get it NOW !

#88
Lost Soul

Lost Soul

    Snap ... Crackle ... Pop

  • Member
  • PipPipPipPipPipPipPip
  • 1,746 posts
@Djé & Delprat thank you, you guys have been a big help

This is not the end. It is not even the beginning of the end. But, it is, perhaps, the end of the beginning.

- Winston Churchill

#89
spiritpyre

spiritpyre

    Grand Poobah

  • Member
  • PipPip
  • 191 posts
@ 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, 09 March 2006 - 03:10 AM.


#90
Djé

Djé

    accent artist

  • Member
  • PipPipPip
  • 359 posts

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é, 10 March 2006 - 12:53 PM.

Those who do not learn from History are doomed to repeatedly fail their History exams.

#91
Delprat

Delprat

    Poll: Why are you reading this ?

  • Member
  • PipPipPip
  • 481 posts

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)

KISSes from France !

Will you take part in the microwave oven contest on msfn.org ?

The best game ever created is open-source and cross-platform. Get it NOW !

#92
Djé

Djé

    accent artist

  • Member
  • PipPipPip
  • 359 posts
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é, 10 March 2006 - 08:16 PM.

Those who do not learn from History are doomed to repeatedly fail their History exams.

#93
Djé

Djé

    accent artist

  • Member
  • PipPipPip
  • 359 posts
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).
Those who do not learn from History are doomed to repeatedly fail their History exams.

#94
Delprat

Delprat

    Poll: Why are you reading this ?

  • Member
  • PipPipPip
  • 481 posts

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

Attached Files


Edited by Delprat, 11 March 2006 - 09:53 AM.

KISSes from France !

Will you take part in the microwave oven contest on msfn.org ?

The best game ever created is open-source and cross-platform. Get it NOW !

#95
Djé

Djé

    accent artist

  • Member
  • PipPipPip
  • 359 posts

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:
Those who do not learn from History are doomed to repeatedly fail their History exams.

#96
Djé

Djé

    accent artist

  • Member
  • PipPipPip
  • 359 posts
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:

Attached Files


Edited by Djé, 16 March 2006 - 12:18 PM.

Those who do not learn from History are doomed to repeatedly fail their History exams.

#97
slimzky

slimzky

    Self-Taught Geek

  • Member
  • PipPipPip
  • 413 posts
  • OS:Windows 8 x64
  • Country: Country Flag
can someone work on "Up One Level" shell extension? thnx..
Posted Image

#98
eidenk

eidenk

    MSFN Addict

  • Member
  • PipPipPipPipPipPipPip
  • 1,527 posts
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, 23 March 2006 - 11:03 PM.

Asus A8V Deluxe - Athlon 64 FX-55 2.6Ghz - 1GB DDRAM 400 - Windows ME (IE 5.5 SP2 Shell) + KernelEx 4.0 and Revolutions Pack 10

#99
Djé

Djé

    accent artist

  • Member
  • PipPipPip
  • 359 posts

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)
Those who do not learn from History are doomed to repeatedly fail their History exams.

#100
slimzky

slimzky

    Self-Taught Geek

  • Member
  • PipPipPip
  • 413 posts
  • OS:Windows 8 x64
  • Country: Country Flag
what happened to Spiritpyre? where is he?
Posted Image




2 user(s) are reading this topic

0 members, 2 guests, 0 anonymous users



How to remove advertisement from MSFN