top
Loading...
VisualBasic設計圖標提取工具
天極IT資訊短信服務 電腦小技巧
資費:包月5元
手機:
介紹:細處著手,巧處用功。高手和菜鳥之間的差別就是:高手什么都知道,菜鳥知道一些。電腦小技巧收集最新奇招高招,讓你輕松踏上高手之路。(首月免費)


在一些可執行模塊包括*.EXE(可執行文件),*.DLL(Dynamic Link Library, 即動態連接庫),*.CPL( 控制面板模塊)等都含有圖標。其中,不少圖標做得非常漂亮,如何將其“據為己有”?你一定用過諸如“東日探囊”之類的查看圖標的小東東,但是有沒有想過自己編寫一個類似的小程序,我們知道:包含在可執行模塊中的圖標資源是以二進制數據(也叫資源,不懂的查書去) 的形式存儲,我們需要把二進制數據轉換成圖標文件的格式,然后再存為圖標文件(*.ICO)。

打開VB,新建一窗體,其caption值為“圖標提取工具”,添加部件Microsoft Common Dialog Control6.0,并在窗體上放置兩個common dialog,分別命名為:dlgsave和dlgopen,用于制作保存和打開的通用對話框。放置一個textbox,命名為textbox,用于顯示選擇文件后的文件路徑及文件名,再放置兩個命令按鈕,caption值分別為:“打開文件”、“取消”,放置一個picturebox,命名為Iconbox,用于顯示提取出來的圖標,在picturebox下方放置一個hscrollbar,用于多個圖標的選擇,界面排列如圖(圖1) 準備工作做完后,開始代碼的編寫。



在工程中新建一模塊,進行API聲明:

Option Explicit
Declare Function ExtractIcon& Lib "shell32.dll" Alias "ExtractIconA" (ByVal hInst As Long, ByVal lpszExeFileName As String, ByVal nIconIndex As Long)
Declare Function DrawIcon& Lib "user32" (ByVal hDC As Long, ByVal X As Long, ByVal Y As Long, ByVal hIcon As Long)

ExtractIcon用于判斷一個可執行文件或DLL中是否有圖標存在,并將其提取出來,返回值為Long,如成功,返回指向圖標的句柄;如文件中不存在圖標,則返回零。如果nIconIndex設為-1,就返回文件中的圖標總數;DrawIcon函數則在指定的位置畫一個圖標。

作者:http://www.zhujiangroad.com
來源:http://www.zhujiangroad.com
北斗有巢氏 有巢氏北斗