shell32

Best programming language to write a Windows File Manager app.

I would like to write my own file manager i.e. something like what XYplorer or Free Commander does but with a feature set that's more helpful to programmers. What's the best language to write this. I'm basically looking for a language that has both rich GUI libraries and a nice wrapper library over the Windows Shell API. I tried with C...

Virtual Files are opened from Temporary Internet Files

I have created a namespace extension that is rooted under Desktop. The main purpose of the extension is to provide a virtual list of ZIP files that represent a list of configurable directories. When the user clicks one of the those items the contents of the related directory are zipped in place and the resulting ZIP file is stored in a c...

Get CSIDL_LOCAL_APPDATA path for any user on Windows

Hello all, Is there any Win32/MFC API to get the CSIDL_LOCAL_APPDATA for any user that I want (not only the currently logged on one)? Let's say I have a list of users in the form "domain\user" and I want to get a list of their paths - is that possible? Thanks in advance! ...

Using SHFileOperation within a Windows service

It's possible, but is it appropriate to use SHFileOperation within a Windows service? All those SHxxx API functions in shell32.dll seem to have been written with user level programs in mind. Can I be certain SHFileOperation won't display GUI ever? ...

Getting Vista/Windows Search/propsys.dll properties from the shell in managed code

Has anyone managed to do this? I tried making a managed wrapper class for IPropertyStore but am getting AccessViolationExceptions on the methods (i.e. IPropertyStore::GetValue) that take a pointer to PROPVARIANT (rendered as a MarshalAs(UnmanagedType.Struct) out parameter in my managed version) Probably my understanding of COM and inte...

Loading icons from Shell32.dll: Win32 handle is not valid or is the wrong type

Hi, I am getting some Icons from the Shell32.dll. Althought some of the icons don't appear to be available, and I can't understand why. I am getting the icon by loading the library by calling: [DllImport("kernel32.dll")] static extern IntPtr LoadLibrary(string Library); and then getting the icon by calling: [DllImport("User32.d...

P/Invoke for shell32.dll's SHMultiFileProperties

I'm not very good with P/Invoke. Can anyone tell me how to declare and use the following shell32.dll function in .NET? From http://msdn.microsoft.com/en-us/library/bb762230%28VS.85%29.aspx: HRESULT SHMultiFileProperties( IDataObject *pdtobj, DWORD dwFlags ); It is for displaying the Windows Shell Properties dialog for ...

'Safe' DLL Injection

Not a terribly good question, sorry. I have a program that needs to be alerted when a file is opened from explorer (i.e. ShellExecute(A/W) is called). Unfortunately, Microsoft removed the COM interface (IShellExecuteHook) that allows you to hook these events in Vista and up, supposedly because older code could cause a crash due to chan...

Need Working Example of Shell32's ExtractAssociatedIcon Function in .NET

I need a working example of the ExtractAssociatedIcon function in Shell32.dll. I cannot get it working and I am out of ideas. I need another set of eyes on the following code. When the form loads, its icon should be set to the Visual Studio icon, but all I get is the default system icon. Imports System.Runtime.InteropServices Public Cl...

Legality of packaging Windows icons in your own apps

I would like to ship an application that uses images based on icons found in Shell32.dll (e.g. picture of a hard disk, folder, text file, etc). I don't want to load the images from the common DLL at runtime because the images or their indices may change across various versions of Windows. I just want to repackage them in my application...

Device browsing problem

I’m writing file browsing software and I want it to work correctly with all portable devices, such as cameras, smart phones and so on. My program shows thumbnails, so I need to read the content of each file. Now I’m facing some problems: With both my photo cameras I can open only one ISteam from device. For every additional stream I g...

C# Visual Studio 2008 Reference to system32.dll ... how?!?

I need the reference system32/shell32.dll as I use some shell functions to read out the recycling bin. I tried "Add Reference --> COM --> Microsoft Shell Controls and Automatation" and "Add Reference --> Browse ---> [going to the system32/shell32.dll directly]. Both adds the shell32 reference to my references. But when I look at the prop...

Referencing shell32 again, C# Visual Studio

Hmmm. Okay after revisiting PInvoke, I'm sure that I don't quite get it :-/ (just asked this question) Let me illustrate the code I need to handle. It works when I use "Add Reference --> COM --> Microsoft Shell Controls and Automatation" ... but sadly it places a reference in my project that looks like this: "C:\Users\Tim\Documents\Visu...

ShGetFileInfo called for directory oddity

Hello, I have a simple file browser and there I display files and folders, obtained by (for directory) SHFILEINFO info = new SHFILEINFO(); SHGetFileInfo(filename, FILE_ATTRIBUTE_DIRECTORY, ref info,Marshal.SizeOf(info), SHGFI_ICON | SHGFI_USEFILEATTRIBUTES | SHGFI_SMALLICON | SHGFI_ADDOVERLAYS); It works 100% fine, but I have noticed...

ILClone on Windows 2000

Does anyone know of any issues with the ILClone() function on Windows 2000? Is it fully supported? MSDN says it runs on Windows 2000 but I have a user reporting that my program will not run on Windows 2000 because of that function. EDIT: I was able to get a hold of a Win2K system and I can confirm the issue. Shell32.dll version install...

Why do i get E_ACCESSDENIED when reading public shortcuts through Shell32?

I'm trying to read the targets of all desktop shortcuts in a C# 4 application. The shortcuts on a windows desktop can come from more that one location, depending on whether the shortcut is created for all users or just the current user. In this specific case I'm trying to read a shortcut from the public desktop, e.g. from C:\Users\Public...

What is the correct way to implement a Managed Property Handler Shell Extension?

Now that .NET CLR 4.0 supports side by side (SxS) operation it should now be possible to write shell extensions in managed code. I have attempted this and successfully coded a Property Handler that implements IPropertyStore, IInitializeWithStream and IPropertyStoreCapabilities. The handler works fine and is called as expected when...

Performance issue when moving of files on network shares

Hi, I'm writing an application which can copy files on a network share. Usually the files are moved on the same physical hard drive. If you test this with Windows Explorer, this operation will be executed really quickly. It seems, that Windows knows about the same location and does a real movement and not a copy and delete (which would ...

How do I programmatically change a .lnk to change its target?

Is there any way to open a windows shortcut (.lnk file) and change it's target? I found the following snippet which allows me to find the current target, but it's a read-only property: Shell32::Shell^ shl = gcnew Shell32::Shell(); String^ shortcutPos = "C:\\some\\path\\to\\my\\link.lnk"; String^ lnkPath = System::IO::Path::GetFullPath(s...