Windows Explorer Shell Extension

 

Once installed, the Paquet Builder's menu extension for Windows Explorer lets you:. package up group of files, entire folders into compressed .exe files and with optional encryption;. convert .7z archives into Self-Extracting archive .exe files;.

directly from Windows Explorer using context menu: select files, folders or .7z archives then right click and choose "Compress into a Self-Extracting .exe".

How to host an IContextMenu

In order to download and install the shell extension on your computer, please follow these steps:. Select the correct edition depending on your Windows version. Download Now Windows 32-bit (x86) or Download Now Windows 64-bit (x64).

Size: 886 kb (32-bit) or 1113 kb (64-bit). MD5 hashsum: 1B7DF66C3A7CFAA1842217C2843A9AE8 (32-bit) or 10A2C5036EEF43A38B4E814BD34A9C27 (64-bit). Version reference: 20.0. File digitally signed (withMicrosoft Authenticode) to authenticate our company (G.D.G.

Software SAS) as well as to ensure that the code has not been altered. Please verify the publisher to ensure you have downloaded genuine software. Once your download is complete, run the pbextsetupNN.exe installer file and follow the instructions displayed.

Ensure that Windows Explorer is closed. This shell extension works with any recent version of Windows. It requires Paquet Builder in order to compress and generate SFX archives.

Paquet Builder shell extension lets you compress group of files, entire folders (with subfolders, keeping the directory structure) into Self-Extracting archives (SFX), and turn existing 7-Zip archives (.7z) into self-extracting EXE files.

In Windows Explorer,. select one or more files, right click and choose "Compress into a Self-Extracting .exe".

Creating Shell extension handlers

right click on a folder and choose "Compress into a Self-Extracting .exe". right click on a 7z file (7-Zip archive) and choose "Convert to a Self-Extracting .exe". The following dialog box will appear:. You can modify pre-defined settings if you wish, like Window Title, Description and the path to the Self-Extracting EXE file that will be created.

Click "Build" to continue. Paquet Builder is then started silently, compiles and your Self-Extracting archive is created:. If you launch the .exe file, you (and anyone you send the .exe to) will see this result:. and when clicking Next:. You select the path where you want your files to be extracted to and you click Next.

7-Zip is not required at all. You can change the title "Paquet Archive" using the "Window Title" field. Paquet Builder can create tailored Self-Extracting archives: you can customize your SFX archives from A to Z in a snap.

If you would like to create more advanced Self-Extracting archives, you can use Paquet Builder:.

Download Paquet Builder Explorer Extension

enable "Open Paquet Builder to customize the output settings" and Paquet Builder will be opened when you click on Create. Your Self-Extracting archive is not created until you compile it in Paquet Builder.

or you can enable "Create a Paquet Builder project file for later use when compiling".

In this case, the Self-Extracting archive is created and a project file (.pbpx extension) is also output. Then double-click on this .pbpx file to open Paquet Builder and modify the project. To uninstall Paquet Builder shell extension, select the Add/Remove Programs icon in the Windows Control Panel, then highlight Paquet Builder - Explorer Extension Add-On and click Remove.

Modified11 years, 1 month ago.

How to install the extension

Is there any way of calling a DLL that is a shell extension programmatically? We use a software that registers a shell extension on windows explorer, and I need to call one of the items available on its context menu. I do not have the software source code that I want to call.

This context menu only appears when I select a PDF file on windows explorer. So i need to call it passing a dll file. Registry information:. [HKEY_CLASSES_ROOT\CLSID{2DC8E5F2-C89C-4730-82C9-19120DEE5B0A}\InprocServer32]@="C:\Program Files\ABBYY PDF Transformer 3.0\PDFTContextMenu.dll""ThreadingModel"="Apartment".

Is it possible to call ShellExecuteEx with the verb i want (not the default one)? If so, how do I call the verb I want (which uses the DLL)? Thats the verb i wanna call for a PDF file:.

44 gold badges4848 silver badges115115 bronze badges. 115115 bronze badges. The DLL is evidently a context-menu extension. If you want to call it the same way the shell does, then you want to host the IContextMenu interface that the DLL implements.

Several years ago, Raymond Chen wrote an extensive series on this topic:.

Create Self-Extracting 7z Archives directly from Windows Explorer

The first two articles are the most important. They introduce how to get the IContextMenu interface of a file in the first place, and then how to invoke one or more of the commands offered by that menu. Essentially, get the IContextMenu interface, fill a CMINVOKECOMMANDINFOEX structure, and then pass it to the interface's InvokeCommand method.

The articles call TrackPopupMenu to display a menu to the user, and then use the selection to fill the structure, but if you already know exactly which command you want to run, then you can forgo displaying the menu. (You might still have to create the menu, though, since the IContextMenu object probably expects to have QueryContextMenu called on it first.).

2020 gold badges270270 silver badges457457 bronze badges.

What are Shell extensions?

457457 bronze badges. Rafael, you can use the IContextMenu Interface. from here you can enumerate the entries returned by the interface and then execute the option which you want using the InvokeCommand.

1616 gold badges348348 silver badges476476 bronze badges. 476476 bronze badges. It's a COM object. You just need to create it, and pass it interfaces (with enough implementation behind it) it make it work. you) will ask the shell extension to add items to an different HMENUs.

Then Explorer (i.e. you) invokes a menu item in response to the user. Fortunately everything in the shell is an interface - so you can pretend to be whatever you want.

You just need to read the SDK contract from the other side.

How to use the extension

Remember: A shell extension doesn't have to be hosted in Explorer. A lot are hosted in the "Save As" dialog from CommCtrl. In your case it's even simpler. Create the COM Object. query for its IShellExtInit interface, and call .Initialize.

query for its IContextMenu interface. call IContextMenu.QueryContextMenu, allowing it to add items to an HMENU. call IContextMenu.Invoke. Again, a case of reading the contract from the other side. Some pseudo-code:. That's as far as i get from reading documentation and guessing what to do.

Now i have to pee, and go home to play Portal 2. 237237 gold badges834834 silver badges11591159 bronze badges. 11591159 bronze badges. Shell extensions are a powerful and flexible way to extend Windows Shell capabilities.

However, when working with Shell extension handlers you can encounter hidden difficulties.

How to uninstall the extension

In this article, we describe the general approach to creating Windows Shell extensions based on the example of shortcut menu and icon overlay handlers. We also explain a number of pitfalls you may face when developing these types of extensions and offer several best practices to avoid them.

What is a Shell extension? To define Shell extensions, let’s look at the Windows Shell extension handler that allows you to extend the usual set of actions while working with Windows Explorer.

Shell extensions can be represented as individual plug-ins to Windows Explorer. They can be used to add a new tab to the Properties window, change a file preview, and do other things.

Before taking any action, the Shell calls registered extension handlers to customize this action.

Implementing the required functions and interfaces

A typical example of such adjustment is a Shell extension handler for the shortcut menu. Depending on the file type, Shell extension handlers can be added either to all types of objects within Windows Explorer or only to certain types of objects.

Shell extension handlers used with specific file types:. Shell extension handlers that don’t depend on the file type:. However, no matter what file type you apply a handler to, using Shell extensions can slow down Windows Explorer.

In addition to Windows Explorer, other programs including Dropbox, TortoiseSVN, WinRAR, and SkyDrive establish their own sets of Shell extensions.

Related services. Operating System Management Solutions. In this section, we’ll discuss the process of creating Windows Shell extension handlers based on the example of overlay and context menu extensions.

Other types of Shell extensions can be implemented in a similar way.

10. DropIt: Organize Files and Folders Automatically

Each Shell extension handler is a Component Object Model (COM) object. Handlers must have their own globally unique identifier (GUID) and be registered before the Shell can use them.

The registry path is determined by the type of extension handler. Now let’s go through all the stages of creating a Shell extension handler. Since a Shell extension handler is a COM object, it’s implemented as a dynamic link library (DLL). At the same time, just as any COM object, a DLL must export the following standard functions:.

DllMain – Creates an entry point to a DLL. DllGetClassObject – Gets an object using the Class factory. DllCanUnloadNow – Calls a DLL before unloading to check whether it’s currently being used.

DllRegisterServer – Registers a COM object in the registry.

Little Known Features of Windows File Explorer

DllUnregisterServer – Removes the COM object entry from the registry. The ClassFactory is used to create the component object and must implement the IClassFactory interface.

Here’s how the ClassFactory looks:. Hi BobBelhouse, I am Paulo. I'm an Independent Advisor and an individual like you inclined to help. To display the comments, you can click on the View tab then set it to Details. Right-click on any column header then choose More.

Scroll down and put a check on Comments then hit OK.

Report abuse

I hope this helps . Harassment is any behavior intended to disturb or upset a person or group of people.