Jump to content

Here's some shell extensions...


Recommended Posts

Hi spiritpyre,

I have read your doc and I'd be interested to know if you could easily compile a standalone and silent .exe version of your "refresh filename" programing trick. I toggle myself Show/Hide file extensions with a batch file I have written and that I launch from QuickMenuBar but I am unable to find an app, a batch command or a simple API I could compile into an app to refresh the filenames. So despite toggling with the batch file I still must right-click on the folder background and choose refresh.

Edited by eidenk
Link to comment
Share on other sites


sorry for the late reply don't get on as much anymore :)

@skywalka

thanks. that looks like it might be useful. I'll have to try it out though. the last method I tried (from M. Dunn) didn't work because for some reason Visual C++ 6 didn't like something in his code... and after triple checking my #includes & declaration, I realized that it was something with the compiler not the code (i think). Still haven't figured out what it is, but if this works I won't have to. :lol:

@matthewk

I put all of the dlls in "%windir%\system32\ShellExt\" folder so that they're out of the way, but not just some extra "junk" thrown in the system32 folder. Don't know what you're looking to do but if you were looking to use regsvr32 to automate, you can also just run the .exe with the /S switch to silently install it.

@Vladotto

thanks for the new additions. also the reason I didn't list folder pilot is that its not freeware (only 30-trial) -- its licensing isn't very clear from the products page but it says if you check out Babex's downloads page; XFilesDialog look like a demo too but I'm not sure. [i just like free stuff better :whistle: ]

@eidenk

My little trick isn't as cool as I wanted it to be. (My refresh works by calling the right-click menu [shift+F10] and pressing "e" to choose 'R&efresh' -- it just does it really quick so its kinda hard to see). I still want to find another method for refreshing because mine only works on the current window.

Anyway if you have AutoIt v3 you can probably recreate the same thing with this code via a script, and then just just Aut2Exe to compile it:

Send("+{F10}")
Send("e")

but because of the way the context menus are called, it would only work if called from the background menu (because "R&efresh" doesn't appear on file or folder menus) otherwise if you tried calling it when you right-clcik a file for example, the selection of the file (to be able to right-clcik it) would throw everything off. [and then we have another reason why I'd like to "Refresh" a different way :P ]

Edited by spiritpyre
Link to comment
Share on other sites

spiritpyre...just a question, but is there a possibility that I can get some of these without the installer (your extensions, I mean)...the only reason I ask is because I have a package that installs all my shell extensions and orphan items, I would just like to keep them in the same package (plus itll reduce numerous runonceex entries)...the ones I am talking about are fileext and selectall...if not its cool, just wondering.

Link to comment
Share on other sites

Wow ... exactly what I was looking for some time ago. I haven't read anything about it yet though (I am going to bed soon) but a nice place for some shorcuts is the context menu of the task bar ... such as Regedit and all the various system tools would be nice right there. Will look into the posted stuff tommorow.

Link to comment
Share on other sites

@ evilvoice & matthewk

had a couple of hours today so I repackaged the dlls and wrote a sample cmd that registers them (...in case anybody was interested :P ) (see my first post <{POST_SNAPBACK}>)

i have a bit of work to do this weekend so i doubt i'll get time for any programming :} but i'm hoping i'll have some time thursday.

Edited by spiritpyre
Link to comment
Share on other sites

Finally figured out a one of my major set-backs. :D It seems that even after installing the most up-to-date Platform SDK's, you must manually tell VC++ 6 to use them (and set it's "include" folder first in the list above any other "include" folders VC++ uses) :whistle: ...or at least that's what I had to do. I was getting compiling errors (undecl. id's) on MIIM_STRING [for my SubMenu] project and also on something else related to my "alternative refresh". (And no I don't like web-installs...on psdk's or anything. lol)

[in English]: Busy with classes, but hopefully I've have something to release in around a week. B)

Anyway here's a Preview:SubMenu_Pack.JPG

Currently I store the settings in [HKEY_CURRENT_USER\Software\My Shell Extensions] with a SubKey for each item that will appear in the menu. I'm also considering setting some kind of ceiling on how many items can appear in the menu (to help cut down the lag) in the version that I release.

One cool feature is that you can use environment variables in the paths, but you have to double-up on the percent signs so the extension can escape them (ie. "%windir%" would be entered as "%%windir%%") and it *should* work on any environment variable defined on the system. <Edit> eliminated need for escaping the '%'s; they can now be entered like you normally would.

<edit 10/13/05> fixed some bugs and got rid of some of the lag but I still have a few things to do. Here's what I'm hoping to get in before I release:

1) a way to specify parameters/arguments (currently anything called with arguments can't be launched)

2) would like to restructure things so that the value used for the caption is more like that used for adding file/folder verbs strictly via the registry.

3) opting for fully configurable settings that allow you to use either the registry or a settings file. spent the last week cleaning up my registry functions, now I just need to code file op's (should be pretty easy)

4) would like to possibly do some error proofing by having certain string-particulars taken care of by the program rather than the user

5) make a config utility for easy item entry, and changing settings

6) improve the parsing routine, so that the extension can be more flexible

7) recode Select All, Browser Back, File Extension Toggle, and Hidden File Toggle as standalone, *windowless* execuables so that they can be called from a directory background.

[Quick Update]: Finished the registry part currently working on ini support (so far main problems are 1)generating a default file if one isn't found and 2) i'm getting a high number of compiler warnings when my current ini-class is included). Finished re-designing the config utility, just need to finish off some code in some parts -- as it is now the config utility has around 3/4 of its coding left but it should be much much easier to code than the extension itself....partly because i can reuse code.

[After This Project]

1) attempt something i found that might "refresh" better

2) [iF I CAN] create a Toolbar extension

3) attempt to add bitmaps to previous extensions (either a checkmark, X, or +/- ) ... probably a checkmark or else it would be configurable

Edited by spiritpyre
Link to comment
Share on other sites

Hi again, with simply merging this registry file you can register and unregister dlls with the context menu instead of using the run box or a batch file. Multiple files can be selected.

REGEDIT4

[HKEY_CLASSES_ROOT\dllfile\shell\Register]

[HKEY_CLASSES_ROOT\dllfile\shell\Register\command]
@ = "regsvr32.exe \"%L\""

[HKEY_CLASSES_ROOT\dllfile\shell\UnRegister]

[HKEY_CLASSES_ROOT\dllfile\shell\UnRegister\command]
@ = "regsvr32.exe /u \"%L\""

It works on 9x. Dunno on NT+ because of privileges but otherwise I think the syntax is the same.

I also use that with ocx files and ax files (DirectShow Filters).

Link to comment
Share on other sites

Hi again, with simply merging this registry file you can register and unregister dlls with the context menu instead of using the run box or a batch file. Multiple files can be selected.

...

or if you're *REALLY* lazy you can use a shell extension...lol. :wacko:

DLL Registration / Unregistration using a Shell Extension (By Sardaukar)

Edited by spiritpyre
Link to comment
Share on other sites

PikyBasket 2

Download

Very useful for multiple folder/file changes (i.e. Multiboot distro's).

Also, the menu can easily be redone through a resource editor. (I posted a example long ago with pics do a search and PM me if you want a copy of my version.)

Includes :

-Send file/folder to cmd prompt

-Copy Paths to Clipboard w/ a UNC format option.

- :thumbup The Basket - "you can reduce repetitive tasks when copying/moving files and folders in Windows. Piky Basket allows you to select files/folders in to a "basket" from different locations. Once you are done selecting, you can paste them all at once to the target folders. It also allows you to selectively paste the files to the target folder."

Link to comment
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.
×
×
  • Create New...