如何使用VB.net代碼更改擴展名的圖標?以編程方式更改擴展名圖標
0
A
回答
0
好吧,把它們放在VB 2005中,但它也應該在VB 2008中工作。
Imports System
Imports Microsoft.Win32.Registry
Public Class Form1
' Controls:
' txtFT: Textbox, where the user inputs the filetype (eg. ".jpg")
' txtIcon: Textbox, where the user inputs the path to the icon (eg. "C:\icon.ico")
' btnChangeIcon: Button, to call the function.
'-----------------------------------------------------------------------------------------------
Public Sub SetDefaultIcon(ByVal FileType As String, ByVal Icon As String)
Dim rk As Microsoft.Win32.RegistryKey = ClassesRoot
Dim rk1 As Microsoft.Win32.RegistryKey = ClassesRoot
Dim ext As Microsoft.Win32.RegistryKey = rk.OpenSubKey(FileType)
Dim regtype As String = ext.GetValue("")
ext = rk1.OpenSubKey(regtype, True).OpenSubKey("DefaultIcon", True)
ext.SetValue("", Icon)
MessageBox.Show(ext.ToString)
End Sub
Private Sub btnChangeIcon_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnChangeIcon.Click
SetDefaultIcon(txtFT.Text, txtIcon.Text)
End Sub
End Class
在Windows XP上測試。如你所見,它得到文件類型,並獲得(默認)值。該值指向其關聯,其中包含DefaultIcon鍵。用戶在「txtFT」中輸入文件類型,在「txtIcon」中輸入圖標文件。該表單是Form1。當用戶單擊btnChangeIcon時,將調用SetDefaultIcon函數。 如果用戶在沒有輸入任何信息的情況下點擊btnChangeIcon,它可能會出現問題,因此如果您沿着該路線行進,應該添加一些錯誤處理。如果你通過代碼設置它,你會很好。
對於沒有關聯的圖標我不知道該怎麼做,除了自己爲它們建立關聯。
- SP
0
在Windows中,文件擴展名及其關聯的圖標和程序存儲在註冊表中:HKEY_CLASSES_ROOT\
全系統關聯。
從Windows XP開始,還有HKEY_CURRENT_USER\Software\Classes\
爲當前用戶的文件關聯,但到目前爲止它很少使用。
例如,如果你想改變爲.txt
的信息,你會先檢查默認值HKEY_CLASSES_ROOT\.txt\
(在我的系統是txtfile
),然後再去匹配鍵在HKEY_CLASSES_ROOT
- 在這個例子中,它會是HKEY_CLASSES_ROOT\txtfile\DefaultIcon
。
但我不使用VB.NET,所以我不能幫助更多。 (並且可能存在比這裏描述的更好的的方式來執行它。)
相關問題
- 1. 以編程方式更改MediaController圖標
- 2. 以編程方式更改ActionBar圖標
- 3. 以編程方式(PHP)保存沒有擴展名的圖像
- 4. 以編程方式更改標籤方向,編程方式
- 5. 以編程方式更改UIButton標題
- 6. 以編程方式禁用Firefox擴展
- 7. 以編程方式更改圖像
- 8. 以編程方式更改視圖
- 9. Shell圖標擴展編程
- 10. 在Android中以編程方式更改應用程序名稱和圖標?
- 11. 如何以編程方式設置x:引用標記擴展?
- 12. 如何以編程方式更改.bat文件的圖標?
- 13. 以編程方式更改站點的sharepoint圖標
- 14. 以編程方式更改文件夾圖標顏色
- 15. PopupWindow如何以編程方式更改圖標和背景?
- 16. 以編程方式更改eclipse RCP命令的圖標
- 17. iPhone dev以編程方式更改標籤欄項目視圖
- 18. 如何以編程方式更改按鈕的圖標?
- 19. 如何在c#net中以編程方式更改exe圖標
- 20. 活動更改圖標以編程方式
- 21. 以編程方式更改任務欄圖標(Win32,C++)
- 22. 以快速編程方式更改標籤欄項目圖像
- 23. 以編程方式更改Xamarin中UIBarButton項目的圖標
- 24. 擴展方法 - 更改名稱空間
- 25. 以編程方式更改SegmentControl值的視圖已更改
- 26. 更改文件擴展名?
- 27. 更改庫的擴展名?
- 28. iOS擴展:無法更改圖標
- 29. 以編程方式更改android viewpager標籤標題
- 30. MonoDroid更改活動標籤或標題以編程方式