shell-extensions

Writing a Windows Shell Extension similiar to the Assembly Cache Viewer

左心房为你撑大大i 提交于 2019-12-10 10:15:17
问题 I would like to write a shell extensions to completely customize the display of a particular folder, ala the Assembly Cache Viewer (browse to c:\windows\assembly and you will see what I mean). Which COM interfaces are responsible for providing these hooks? My 'viewer' will be written in C#... Thanks! 回答1: Here's an article that should get you on your way: Create Namespace Extensions for Windows Explorer with the .NET Framework Extending the Windows shell with namespace extensions allows you

Signing an F# Assembly (Strong name component)

南楼画角 提交于 2019-12-10 02:43:34
问题 I found this article on CodeProject: http://www.codeproject.com/Articles/512956/NET-Shell-Extensions-Shell-Context-Menus and thought it would be nice to give it a try, but in F#. So I came up with the following code: open System open System.IO open System.Text open System.Runtime.InteropServices open System.Windows.Forms open SharpShell open SharpShell.Attributes open SharpShell.SharpContextMenu [<ComVisible(true)>] [<COMServerAssociation(AssociationType.ClassOfExtension, ".txt")>] type

“Build” item in Windows Explorer's context menu of a VS solution file?

▼魔方 西西 提交于 2019-12-09 09:35:40
问题 I wonder why this is not integrated by default. I'd like to have an item in Windows Explorer's file context menu of a VS solution file to build it. Is there a tool for this? Or do I have to create this myself? 回答1: MSBuild Shell Extension have been there for years, http://msbuildshellex.codeplex.com/ But you might also try out my new project, http://msbuildlaunchpad.codeplex.com/releases/view/45368 It is quite easy to use. MSBuild Launch Pad http://i3.codeplex.com/Project/Download

Why does Windows Shell context menu handler break power-user menu (Win+x) on Windows 8/10?

妖精的绣舞 提交于 2019-12-09 01:26:42
问题 My custom Windows shell context menu handler works like a charm, for all Windows versions from XP to 7, but on Windows 8, 8.1 and 10, installing it breaks the Win + X menu (sometimes called "Power user menu" , or "Quick Access menu" , or "WinX menu" ): when hitting Win + X , the menu is displayed as expected, but its items do not work anymore (nothing happens when I click on them), except for the last four items at the bottom which still work as expected ( "Search", "Run", "Shut down/Sign out

Creating RightClick Menu for Explorer

早过忘川 提交于 2019-12-08 08:32:52
问题 If some one can provide some sample articles on how to create Right Click Menu for Drives. Here is what needed: The right click menu will contain two additional things, i.e: Connect and Disconnect . Can we make it conditional? I mean for some condition The drive will make the Connect enabled(Ideally when not connected) and when connected it will disable the connect and enable the Disconnect. 回答1: Here is all the relevant documentation. Basically you want to create a COM object that implements

icon overlay handlers for namespace extension

随声附和 提交于 2019-12-06 14:50:59
I am developing namespace extension which gives a virtual view of files on a server. In this view, I need to provide different states(in use, offline, out of sync, etc) of a file using overlay icons. I was read through article implementing overlay handler, and thought I will try to handle this in one of our overlay handlers, which implement IShellIconOverlayIdentifier interface. I see that IShellIconOverlayIdentifier::IsMemberOf(), and other functions are called only when I access files on normal filesystem, i.e., c:\, d:\ etc. When I browse a namespace extension, these calls are not called at

Prevent all non system shell extensions from loading in a GetOpenFileName, CFileDialog, IFileOpenDialog, etc

别等时光非礼了梦想. 提交于 2019-12-06 14:18:59
I'm looking for a programmatic way to prompt the user for filenames using the explorer shell and I only want system shell extensions loaded. The reason I'm looking for this feature is that I want to eliminate 3rd party shell extension as a possible cause for crashes and other nondeterministic behavior. Ideally, there's a flag somewhere that I missed that I can pass in to a function that means something like a "safe mode" for an explorer instance where it only loads the system shell extensions. This seems like such an essential feature and I've spent a good amount of time poring over docs to

Windows Explorer Shell Extension: create file and enter “rename” mode

帅比萌擦擦* 提交于 2019-12-05 18:34:22
For a shell extension (UI is similar to "New/" context menu), I need to create a file, select it and enter "rename" mode, so the user can adjust the default name. Q: How do I enter "rename" mode for a file? The correct way to do this is to use IShellView::SelectItem with the SVSI_EDIT flag. Have you tried sending "F2" to the window? 来源: https://stackoverflow.com/questions/6258846/windows-explorer-shell-extension-create-file-and-enter-rename-mode

Override Drag and drop for Shell Extension

橙三吉。 提交于 2019-12-05 10:45:49
问题 I am working on a ShellExtension code in C++. I am creating a Virtual Drive. Which represents a repository somewhere in the Network. What I want now is to enable Drag-Drop functionality to this Drive. I want to enable user to drag the file to that Virtual Drive and then I must be able to Grab that event, so that I can perform my custom operation. I am not able to find any of such Event or Interface so far. I tried using IDragAndDrop interface, but its rgs files were not registering properly.

In-Proc SxS opens for shell extension in managed code?

别等时光非礼了梦想. 提交于 2019-12-05 08:50:34
The recommendation used to be "Do not write in-process shell extensions in managed code." But with .NET Framework 4 and In-Process Side-by-Side the main reason not to write shell extensions in managed code should be resolved. With that said, I have three questions. Is it now okay to write shell extensions in managed code? Which problems, if any might there be with writing shell extensions in managed code? What reasons might there be to write shell extensions in unmanaged code? It is now OK to write shell extensions in .NET 4 managed code. You should still avoid writing shell extensions in .NET