C語言基本文法詳解之檔案夾變形

來源:互聯網
上載者:User

首先,我們看看這兩個圖,如圖1所示。

一秒前:

一秒後:

怎麼樣?檔案夾變成資源回收筒了!不信?雙擊進入試試,裡面真的是資源回收筒哦。神奇吧!看過本文,你不但能變檔案夾為資源回收筒,還可以將它變成各種稀奇古怪的東東!

首先要說明一下原理:在Windows資源管理員中,Desktop.ini和Folder.htt中定義了檔案夾的屬性,在Windows 9X下,我們可以在檔案夾中建一個Desktop.ini,並在其中輸入如下代碼:

[.ShellClassInfo]

Clisd={645FF040-5081-101B-9F08-00AA002F954E}

這樣檔案夾就變成了資源回收筒,但是在Windows XP/2003中就失效了。沒關係,另有辦法:我們對著檔案夾按下F2,改成“×××.{645FF040-5081-101B-9F08-00AA002F954E}”(不要引號),也變形了吧?!這其實也改變了檔案夾的屬性,效果是一樣的。通過資料知道,這其實是運用了微軟的Active Desktop技術。下面我們看看如何利用編程實現它。

系統內容:Windows Server 2003 Enterprice Eidtion

開發工具:VC++ 6.0

本程式是用SDK寫的,這篇文章也是給像我這樣的菜菜看的,現在很多學編程的菜菜們都愛用VB之類的RAD工具或是一頭鑽進MFC,以至於編了N年還不知道什麼是Windows訊息迴圈,把十分平常的API函數調用(如SendMessage,FindWindows之類)奉之為“技巧”。我沒有鄙視的意思,也不是說號召大家以後都這樣編程,畢竟用SDK開發太慢了,我只是覺得要想在Windows編程得到較大進步,學習Win32下的SDK編程是不應該省略的,若只會Click處理事件,而不知道其中IDE到底幹了什麼,那就會阻礙你的進步了!

下面簡略說明一下程式流程:

WinMain函數,程式的入口:

int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE ,hPrevInstance,
LPSTR lpCmdLine, int nCmdShow)
{
if (-1 == DialogBox(hInstance, MAKEINTRESOURCE(IDD_MAIN), NULL, Main_Proc))
{
MessageBox(NULL, "載入對話方塊出錯!" , "", MB_OK);
// MessageBox函數,彈出一個預定義訊息框,第一個參數是表單控制代碼,第2個參數是訊息本文,第三個參數是標題,最後是訊息框類型,這裡是指有一個確定按鈕的訊息框.
}
return 0;
}

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.