Shell FAQ 以后累加

1. 在不知道文件的前提下,根据后缀得到,文件icon
SHFILEINFO sfi;
   HIMAGELIST hil;

   ZeroMemory(&sfi,sizeof(sfi));
   hil = SHGetFileInfo(".zip",
                       FILE_ATTRIBUTE_NORMAL,
                       &sfi,
                       sizeof(sfi),
                       SHGFI_USEFILEATTRIBUTES|SHGFI_ICON);

2. 任务栏出错后,很多任务栏图标都消失了,如果要实现在任务栏再此启动的时候,恢复图标
       程序中应注册此消息
        RegisterWindowMessage("TaskbarCreated");

3.调试 shell 方法
要让 Explorer 更迅速地卸载Shell扩展执行文件,需要创建如下注册表项:
HKLM/Software/Microsoft/Windows/CurrentVersion/Explorer/AlwaysUnloadDLL
并将其值设为 "1". 对于Win9x, 这是你能做的最好的方法。

而在Win NT/2000上, 你可以找到如下键:
HKCU/Software/Microsoft/Windows/CurrentVersion/Explorer
并创建一个名为 DesktopProcess的DWORD值 1. 这会使桌面和任务栏运行在同一个进程中, 而其他每一个 Explorer 窗口都运行在它自己的每一个进程内. 也就是说,你可以在单个的Explorer 窗口内进行调试, 而后只要你关闭该窗口,你的DLL就会被马上卸载,

如果还不能卸载,点击关闭电脑,按ctrl+alt+shite的同时,点击取消关机,这是 shell 将关闭,再用你的程序启动shell调试,有事还不能替换 dll, 关闭所有的ie 窗口。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值