調用windows作業系統的操作功能表功能

來源:互聯網
上載者:User
     作業系統裡面有很多組件,可以調用這些組件的功能把系統的功能整合到我們的軟體中來,利用組件可以完成很多我們無法想像的事情。
    今天在做個東西的時候,偶然間發現作業系統有一個組件——shell32.dll,在c盤程式檔案system32檔案下(可以搜尋到),該組件封裝了電腦上很多的檔案夾、檔案的索引,具體有哪些,我也沒有仔細的測試,因為實在太多了。不僅如此,主要的是可以利用這個組件調用這些檔案夾、檔案的操作功能表的功能表項目。所以,作業系統裡面很多檔案、檔案夾的菜單功能都可以利用該組件在我們程式裡面調用。
    我做了一個測試,我在案頭上放了一個“建立檔案.txt”檔案,右擊該檔案,菜單裡面有:開啟、編輯、刪除、壓縮、病毒掃描、屬性等等,可以調用這些功能。
   具體方法是:把shell32.dll添加到項目中來,然後定義該組件的shell類的對象,然後調用該對象的函數就可以,例如下面的代碼實現把案頭上的“建立檔案.txt”檔案開啟和病毒掃描(我安裝了卡巴斯基)。
            Shell32.Shell sh = new Shell32.Shell();          
            Shell32.Folder sf = sh.NameSpace(0);
            Shell32.FolderItems fis = sf.Items();
            string itemName = fis.Item(11).Name.ToString();
            Shell32.FolderItemVerbs fivs= fis.Item(11).Verbs();
            foreach (Shell32.FolderItemVerb fv in fivs)
            {
                string name= fv.Name.ToString();
                if (name == "開啟(&O)")
                {
                    fv.DoIt();
                 }
                if (name == "掃描病毒(&K)")
                {
                    fv.DoIt();
                   // break;
                }
            }
     很easy吧,沒有幾行代碼,呵呵...
     不過,任何事情都不是100%好的,調用組件的弊端很大,不在萬不得已的情況下我是不會使用組件的 。比如,組件對系統依賴很大,換個版本的系統就可能執行不了,我上面的代碼可能在你的機器上就執行不了或者實現不了功能,可別說我寫的代碼不對喲。
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.