1. Get it, the file icon is obtained under the premise of the file.
SHFILEINFO SFI;
Himagelist hil;
ZeromeMory (& SFI, SIZEOF (SFI));
Hil = shGetfileinfo (". zip",
FILE_ATTRIBUTE_NORMAL,
& sfi,
Sizeof (SFI),
SHGFI_USEFILEATTRIBUTES | SHGFI_ICON);
2. After the taskbar is wrong, many taskbar icons disappeared. If you want to implement the taskbar, restore icons when you start this.
Register this message in the program
RegisterWindowMessage ("taskbarcreated");
3. Debug shell method
To make Explorer uninstall the shell extension execution file, you need to create the following registry key:
HKLM / Software / Microsoft / Windows / CurrentVersion / Explorer / Alwaysunloaddll
And set it to "1". For Win9x, this is the best way you can do.
And on WIN NT / 2000, you can find the following:
HKCU / Software / Microsoft / Windows / CurrentVersion / Explorer
And create a name
DesktopProcess DWORD Value 1. This will make the desktop and taskbar in the same process, and every other Explorer window runs in every process itself. That is, you can do it within a single Explorer window. Debug, then as long as you close the window, your DLL will be uninstalled immediately.
If you still can't uninstall, click to close your computer, press Ctrl Alt Shite, click to cancel the shutdown, this is the shell will shut down, then start the shell debugging with your program, do not replace the DLL, close all IE windows.