• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    在Windows桌面上放置圖標

    發布: 2007-7-14 21:11 | 作者: 佚名    | 來源: 網絡轉載     | 查看: 26次 | 進入軟件測試論壇討論

    領測軟件測試網 作者 聞怡洋
    文章原始出處 http://www.vchelp.net/source/submit/desktop_sc.htm

    正文
    Windows桌面上放置圖標
    聞怡洋 http://www.vchelp.net
    下載示范代碼20K http://www.vchelp.net/source/submit/desktop_sc.zip

    IE在安裝后在桌面添加了一個圖標,這主要是通過修改注冊表達到的這個目的。

    下面的代碼可以幫助你在桌面添加圖標和刪除圖標,圖標添加后無法使用刪除功能直接刪除,而必須修改注冊表進行刪除。(在程序中使用了CRegKey這個類,在使用這個類時需要包含頭文件:atlbase.h)

    //首先需要提供四個參數
        m_szGUID ="{FA89ADA1-936E-4905-8216-70CA2A6C1B5A}"; //GUID
        //請利用Visual Studio\Common安裝目錄下\Tools\GUIDGEN.EXE程序自己創建一個GUID
        m_szCmd = "cmd /K dir c:\\"; //設置命令
        m_szIconPath = "d:\\wenyy\\a.ico"; //圖標文件
        m_szDName = "我的圖標"; //設置顯示的名稱

    void CDesktop_scDlg::OnCreate()
    {//創建圖標
        UpdateData(TRUE);
        //
        char szTemp[256];

        CRegKey m_kdsktp;
        //創建GUID入口
        sprintf(szTemp,"CLSID\\%s",m_szGUID);
        m_kdsktp.Create(HKEY_CLASSES_ROOT,szTemp);
        m_kdsktp.SetValue(m_szDName);
        m_kdsktp.Close();

        //設置圖標
        sprintf(szTemp,"CLSID\\%s\\DefaultIcon",m_szGUID);
        m_kdsktp.Create(HKEY_CLASSES_ROOT,szTemp);
        m_kdsktp.SetValue(m_szIconPath);
        m_kdsktp.Close();

        //設置雙擊圖標時的打開命令
        sprintf(szTemp,"CLSID\\%s\\Shell\\Open\\Command",m_szGUID);
        m_kdsktp.Create(HKEY_CLASSES_ROOT,szTemp );
        m_kdsktp.SetValue(m_szCmd);
        m_kdsktp.Close();

        //設置菜單屬性
        sprintf(szTemp,"CLSID\\%s\\ShellFolder",m_szGUID);
        BYTE bValue[4];
        m_kdsktp.Create(HKEY_CLASSES_ROOT,szTemp);
        bValue[0]=0x0; //"00.00.00.00"
        bValue[1]=0x0;
        bValue[2]=0x0;
        bValue[3]=0x0;
        RegSetValueEx(m_kdsktp.m_hKey,"Attributes",0,REG_BINARY,bValue,4);
        m_kdsktp.Close();

        //在桌面放置圖標
        sprintf(szTemp,"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Desktop\\NameSpace\\%s",m_szGUID);
        m_kdsktp.Create(HKEY_LOCAL_MACHINE,szTemp);
        m_kdsktp.SetValue(m_szDName);
        m_kdsktp.Close();

        //通知桌面更新
        SHChangeNotify(SHCNE_ASSOCCHANGED,SHCNF_FLUSHNOWAIT,0, 0);
    }

    void CDesktop_scDlg::OnDel()
    {//刪除圖標
        UpdateData(TRUE);
        //
        char szTemp[256];

        CRegKey m_kdsktp;
        //刪除GUID入口
        sprintf(szTemp,"CLSID");
        m_kdsktp.Open(HKEY_CLASSES_ROOT,szTemp);
        m_kdsktp.DeleteSubKey(m_szGUID);
        m_kdsktp.Close();

        //刪除桌面圖標
        sprintf(szTemp,"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Desktop\\NameSpace");
        m_kdsktp.Open(HKEY_LOCAL_MACHINE,szTemp);
        m_kdsktp.DeleteSubKey(m_szGUID);
        m_kdsktp.Close();

        //通知桌面更新
        SHChangeNotify(SHCNE_ASSOCCHANGED,SHCNF_FLUSHNOWAIT,0, 0);
    }

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>