周报_2012第14周(2012/04/01-2012/04/07)

2012.04.05

无法解决的难题:

SHGetFileInfo(pszPath, NULL, &shinfo, sizeof(shinfo), SHGFI_ICON);

无法取得图标组、无法取得指定大小的Icon。

 

2012.04.06

Windows 桌面添加右键菜单项“更改壁纸”

Shell Extension 为 Explorer 进程创建 ATL COM Object DLL,调用 ContextMenu 扩展处理器。

实现 IShellExtInit 接口 Initialize()。

实现 IContextMenu 接口: QueryContextMenu()、GetCommandString()、InvokeCommand()。

 

注册 Shell 扩展: ATL 自动生成注册 COM DLL 服务器的代码,添加注册表项。

HKCR
{
    NoRemove Directory
    {
        NoRemove ShellEx
        {
            NoRemove ContextMenuHandlers
            {
                360DesktopExt = s '{EAA5320C-FA1A-4c00-863C-1AA6143AB870}'
            }
        }
    }
    NoRemove Directory
    {
        NoRemove Background
        {
            NoRemove ShellEx
            {
                NoRemove ContextMenuHandlers
                {
                    360DesktopExt = s '{EAA5320C-FA1A-4c00-863C-1AA6143AB870}'
                }
            }
        }
    }
}

 

传递命令行参数启动进程。

解析命令行参数。

 

2012.04.07

判断 360Desktop 进程是否启动,SendMessageTimeout 进程间通信。

posted @ 2012-04-05 20:39  DancingFish  阅读(270)  评论(0编辑  收藏  举报