亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

個性化你的Windows 7 Taskbar Thumbnail

瀏覽:84日期:2023-05-29 13:21:44

昨天看到How To Geek里的一篇文章, 里面有個小程序做得覺得挺有意思, 那個程序可以改變Windows 7的縮略圖大小, 縮略圖與縮略圖之間的距離, 以及上下左右的邊距, 甚至還可以設置鼠標放到任務欄上多久顯示出縮略圖, 系統(tǒng)默認的是400ms, 感覺有點慢, 我把它調成了1, 鼠標一放上去就冒出縮略圖, 感覺非常的爽. 當然這些都是靠更改注冊表完成的.

我把那個程序下載下來, 用Reflector看一下那個程序, 終于知道是什么原理, 又花了好幾個小時實現(xiàn)了一遍, 當然我寫的代碼肯定沒人家好, 人家是美國的MVP, 我只是個菜鳥:)在這里把實現(xiàn)過程跟大家分享一下, 有哪些寫的不好的地方, 歡迎指教.

改變縮略圖后的大小(可以在這里面看電影了, 呵呵):

更改縮略圖的X-Spacing和Y-Spacing后(可以看到效果還是很明顯的):

程序的核心步驟:

在注冊表目錄HKEY_CURRENT_USER/Software/Microsoft/Windows /CurrentVersion/Explorer/Taskband下新建幾個鍵:MaxThumbSizePx, MinThumbSizePx, ThumbSpacingXPx, ThumbSpacingYPx, TopMarginPx, BottomMarginPx, LeftMarginPx, RightMarginPx 分別用于控制縮略圖尺寸, 兩個縮略圖直接的邊距, 還有縮略圖中內容的上下左右邊距

在注冊表目錄HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Explorer/Advanced下新建一個鍵: ExtendedUIHoverTime

它用于控制縮略圖顯示的延遲時間(單位是ms)

每次更改完注冊表的信息后, 要看到效果不需要重新開機, 只需要關閉explore.exe, 再重新打開即可.

Private Sub btnApplySettings_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnApplySettings.ClickMy.Computer.Registry.SetValue(path, 'MaxThumbSizePx', Convert.ToInt32(maxSizeTrackBar.Value), RegistryValueKind.DWord)My.Computer.Registry.SetValue(path, 'MinThumbSizePx', Convert.ToInt32(miniSizeTrackBar.Value), RegistryValueKind.DWord)My.Computer.Registry.SetValue(path, 'ThumbSpacingXPx', Convert.ToInt32(xsTrackBar.Value), RegistryValueKind.DWord)My.Computer.Registry.SetValue(path, 'ThumbSpacingYPx', Convert.ToInt32(ysTrackBar.Value), RegistryValueKind.DWord)My.Computer.Registry.SetValue(path, 'TopMarginPx', Convert.ToInt32(tmTrackBar.Value), RegistryValueKind.DWord)My.Computer.Registry.SetValue(path, 'BottomMarginPx', Convert.ToInt32(bmTrackBar.Value), RegistryValueKind.DWord)My.Computer.Registry.SetValue(path, 'LeftMarginPx', Convert.ToInt32(lmTrackBar.Value), RegistryValueKind.DWord)My.Computer.Registry.SetValue(path, 'RightMarginPx', Convert.ToInt32(rmTrackBar.Value), RegistryValueKind.DWord)My.Computer.Registry.SetValue('HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Explorer/Advanced', 'ExtendedUIHoverTime', Convert.ToInt32(dtTrackBar.Value), RegistryValueKind.DWord)'修改注冊表后,重啟explore.exeDim Explorers() As Process = Process.GetProcessesByName('explorer')For Each Explorer As Process In ExplorersExplorer.Kill()NextProcess.Start('explorer.exe')Explorers = NothingEnd Sub

不用擔心的是, 如果你設置這個設置那個, 搞的很亂, 你可以恢復系統(tǒng)默認值:

Private Sub btnRestoreDefaults_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRestoreDefaults.ClickMy.Computer.Registry.SetValue(path, 'MaxThumbSizePx', 200, RegistryValueKind.DWord)My.Computer.Registry.SetValue(path, 'MinThumbSizePx', 200, RegistryValueKind.DWord)My.Computer.Registry.SetValue(path, 'ThumbSpacingXPx', 16, RegistryValueKind.DWord)My.Computer.Registry.SetValue(path, 'ThumbSpacingYPx', 16, RegistryValueKind.DWord)My.Computer.Registry.SetValue(path, 'TopMarginPx', 16, RegistryValueKind.DWord)My.Computer.Registry.SetValue(path, 'BottomMarginPx', 16, RegistryValueKind.DWord)My.Computer.Registry.SetValue(path, 'LeftMarginPx', 16, RegistryValueKind.DWord)My.Computer.Registry.SetValue(path, 'RightMarginPx', 16, RegistryValueKind.DWord)My.Computer.Registry.SetValue('HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Explorer/Advanced', 'ExtendedUIHoverTime', 400, RegistryValueKind.DWord)maxSizeTextBox.Text = '200'miniSizeTextBox.Text = '200'xsTextBox.Text = '16'ysTextBox.Text = '16'tmTextBox.Text = '16'bmTextBox.Text = '16'lmTextBox.Text = '16'rmTextBox.Text = '16'dtTextBox.Text = '400''修改注冊表后,重啟explore.exeDim Explorers() As Process = Process.GetProcessesByName('explorer')For Each Explorer As Process In ExplorersExplorer.Kill()NextProcess.Start('explorer.exe')Explorers = NothingEnd Sub

主要的代碼就是這樣, 下面是程序中所有的代碼:

Imports Microsoft.Win32

Public Class mainFormDim path As String = 'HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Explorer/Taskband'Private Sub textBox_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs)'這個函數(shù)的功能是判斷按下的鍵是否為數(shù)字或者Backspace鍵If (e.KeyChar < '0' Or e.KeyChar > '9') Thene.Handled = TrueIf Convert.ToInt32(e.KeyChar).Equals(8) Thene.Handled = FalseEnd IfElsee.Handled = FalseEnd IfEnd Sub 'KeyPress函數(shù)Private Sub txtBox_TextChanged(ByVal txtBox As TextBox, ByVal trackBar As TrackBar)'TextBox里的值發(fā)生變化后'如果值不為空If txtBox.Text <> '' Then'滑動條的值等于文本框內的數(shù)值TrytrackBar.Value = txtBox.TextIf trackBar.Value > 512 Then '如果滑動條的值超過512則拋出一個異常Throw New ExceptionEnd IfCatch ex As ExceptiontrackBar.Value = 512txtBox.Text = '512'End TryEnd If'如果值為空If txtBox.Text = '' Then'滑動條的值置為0,文本框的值置為空trackBar.Value = 0txtBox.Text = ''End IfEnd Sub 'TextChanged函數(shù)Private Sub trackBar_ValueChanged(ByVal txtBox As TextBox, ByVal tracBar As TrackBar)'當滑動條數(shù)值變化時,文本框里的數(shù)值始終和滑動條值相等txtBox.Text = tracBar.ValueEnd Sub 'TrackBarValueChanged函數(shù)Private Sub btnApplySettings_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnApplySettings.ClickMy.Computer.Registry.SetValue(path, 'MaxThumbSizePx', Convert.ToInt32(maxSizeTrackBar.Value), RegistryValueKind.DWord)My.Computer.Registry.SetValue(path, 'MinThumbSizePx', Convert.ToInt32(miniSizeTrackBar.Value), RegistryValueKind.DWord)My.Computer.Registry.SetValue(path, 'ThumbSpacingXPx', Convert.ToInt32(xsTrackBar.Value), RegistryValueKind.DWord)My.Computer.Registry.SetValue(path, 'ThumbSpacingYPx', Convert.ToInt32(ysTrackBar.Value), RegistryValueKind.DWord)My.Computer.Registry.SetValue(path, 'TopMarginPx', Convert.ToInt32(tmTrackBar.Value), RegistryValueKind.DWord)My.Computer.Registry.SetValue(path, 'BottomMarginPx', Convert.ToInt32(bmTrackBar.Value), RegistryValueKind.DWord)My.Computer.Registry.SetValue(path, 'LeftMarginPx', Convert.ToInt32(lmTrackBar.Value), RegistryValueKind.DWord)My.Computer.Registry.SetValue(path, 'RightMarginPx', Convert.ToInt32(rmTrackBar.Value), RegistryValueKind.DWord)My.Computer.Registry.SetValue('HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Explorer/Advanced', 'ExtendedUIHoverTime', Convert.ToInt32(dtTrackBar.Value), RegistryValueKind.DWord)'修改注冊表后,重啟explore.exeDim Explorers() As Process = Process.GetProcessesByName('explorer')For Each Explorer As Process In ExplorersExplorer.Kill()NextProcess.Start('explorer.exe')Explorers = NothingEnd Sub#Region 'KeyPress_Events'Private Sub maxSizeTextBox_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles maxSizeTextBox.KeyPresstextBox_KeyPress(maxSizeTextBox, e)End SubPrivate Sub miniSizeTextBox_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles miniSizeTextBox.KeyPresstextBox_KeyPress(miniSizeTextBox, e)End SubPrivate Sub xsTextBox_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles xsTextBox.KeyPresstextBox_KeyPress(xsTextBox, e)End SubPrivate Sub ysTextBox_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles ysTextBox.KeyPresstextBox_KeyPress(ysTextBox, e)End SubPrivate Sub tmTextBox_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles tmTextBox.KeyPresstextBox_KeyPress(tmTextBox, e)End SubPrivate Sub bmTextBox_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles bmTextBox.KeyPresstextBox_KeyPress(bmTextBox, e)End SubPrivate Sub lmTextBox_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles lmTextBox.KeyPresstextBox_KeyPress(lmTextBox, e)End SubPrivate Sub rmTextBox_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles rmTextBox.KeyPresstextBox_KeyPress(rmTextBox, e)End SubPrivate Sub dtTextBox_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles dtTextBox.KeyPresstextBox_KeyPress(dtTextBox, e)End Sub#End Region#Region 'TextBox_Changed'Private Sub miniSizeTextBox_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles miniSizeTextBox.TextChangedtxtBox_TextChanged(miniSizeTextBox, miniSizeTrackBar)End SubPrivate Sub maxSizeTextBox_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles maxSizeTextBox.TextChangedtxtBox_TextChanged(maxSizeTextBox, maxSizeTrackBar)End SubPrivate Sub xsTextBox_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles xsTextBox.TextChangedtxtBox_TextChanged(xsTextBox, xsTrackBar)End SubPrivate Sub ysTextBox_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ysTextBox.TextChangedtxtBox_TextChanged(ysTextBox, ysTrackBar)End SubPrivate Sub tmTextBox_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tmTextBox.TextChangedtxtBox_TextChanged(tmTextBox, tmTrackBar)End SubPrivate Sub bmTextBox_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bmTextBox.TextChangedtxtBox_TextChanged(bmTextBox, bmTrackBar)End SubPrivate Sub lmTextBox_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lmTextBox.TextChangedtxtBox_TextChanged(lmTextBox, lmTrackBar)End SubPrivate Sub rmTextBox_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rmTextBox.TextChangedtxtBox_TextChanged(rmTextBox, rmTrackBar)End SubPrivate Sub dtTextBox_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles dtTextBox.TextChangedIf dtTextBox.Text <> '' Then'Delay Time最大值是9999TrydtTrackBar.Value = dtTextBox.TextIf dtTrackBar.Value > 9999 ThenThrow New ExceptionEnd IfCatch ex As ExceptiondtTrackBar.Value = 512dtTextBox.Text = '512'End TryEnd If'如果值為空If dtTextBox.Text = '' ThendtTrackBar.Value = 0dtTextBox.Text = ''End IfEnd Sub#End Region#Region 'TrackBar_Changed'Private Sub maxSizeTrackBar_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles maxSizeTrackBar.ValueChangedtrackBar_ValueChanged(maxSizeTextBox, maxSizeTrackBar)End SubPrivate Sub miniSizeTrackBar_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles miniSizeTrackBar.ValueChangedtrackBar_ValueChanged(miniSizeTextBox, miniSizeTrackBar)End SubPrivate Sub xsTrackBar_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles xsTrackBar.ValueChangedtrackBar_ValueChanged(xsTextBox, xsTrackBar)End SubPrivate Sub ysTrackBar_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ysTrackBar.ValueChangedtrackBar_ValueChanged(ysTextBox, ysTrackBar)End SubPrivate Sub tmTrackBar_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tmTrackBar.ValueChangedtrackBar_ValueChanged(tmTextBox, tmTrackBar)End SubPrivate Sub bmTrackBar_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bmTrackBar.ValueChangedtrackBar_ValueChanged(bmTextBox, bmTrackBar)End SubPrivate Sub lmTrackBar_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lmTrackBar.ValueChangedtrackBar_ValueChanged(lmTextBox, lmTrackBar)End SubPrivate Sub rmTrackBar_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rmTrackBar.ValueChangedtrackBar_ValueChanged(rmTextBox, rmTrackBar)End SubPrivate Sub dtTrackBar_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles dtTrackBar.ValueChangedtrackBar_ValueChanged(dtTextBox, dtTrackBar)End Sub#End RegionPrivate Sub btnRestoreDefaults_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRestoreDefaults.ClickMy.Computer.Registry.SetValue(path, 'MaxThumbSizePx', 200, RegistryValueKind.DWord)My.Computer.Registry.SetValue(path, 'MinThumbSizePx', 200, RegistryValueKind.DWord)My.Computer.Registry.SetValue(path, 'ThumbSpacingXPx', 16, RegistryValueKind.DWord)My.Computer.Registry.SetValue(path, 'ThumbSpacingYPx', 16, RegistryValueKind.DWord)My.Computer.Registry.SetValue(path, 'TopMarginPx', 16, RegistryValueKind.DWord)My.Computer.Registry.SetValue(path, 'BottomMarginPx', 16, RegistryValueKind.DWord)My.Computer.Registry.SetValue(path, 'LeftMarginPx', 16, RegistryValueKind.DWord)My.Computer.Registry.SetValue(path, 'RightMarginPx', 16, RegistryValueKind.DWord)My.Computer.Registry.SetValue('HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Explorer/Advanced', 'ExtendedUIHoverTime', 400, RegistryValueKind.DWord)maxSizeTextBox.Text = '200'miniSizeTextBox.Text = '200'xsTextBox.Text = '16'ysTextBox.Text = '16'tmTextBox.Text = '16'bmTextBox.Text = '16'lmTextBox.Text = '16'rmTextBox.Text = '16'dtTextBox.Text = '400''修改注冊表后,重啟explore.exeDim Explorers() As Process = Process.GetProcessesByName('explorer')For Each Explorer As Process In ExplorersExplorer.Kill()NextProcess.Start('explorer.exe')Explorers = NothingEnd SubPrivate Sub mainForm_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.LoadmaxSizeTextBox.Text = '200'miniSizeTextBox.Text = '200'xsTextBox.Text = '16'ysTextBox.Text = '16'tmTextBox.Text = '16'bmTextBox.Text = '16'lmTextBox.Text = '16'rmTextBox.Text = '16'dtTextBox.Text = '400'On Error Resume NextmaxSizeTextBox.Text = My.Computer.Registry.GetValue(path, 'MaxThumbSizePx', Nothing).ToStringminiSizeTextBox.Text = My.Computer.Registry.GetValue(path, 'MinThumbSizePx', Nothing).ToString()xsTextBox.Text = My.Computer.Registry.GetValue(path, 'ThumbSpacingXPx', Nothing).ToString()ysTextBox.Text = My.Computer.Registry.GetValue(path, 'ThumbSpacingYPx', Nothing).ToString()tmTextBox.Text = My.Computer.Registry.GetValue(path, 'TopMarginPx', Nothing).ToString()bmTextBox.Text = My.Computer.Registry.GetValue(path, 'BottomMarginPx', Nothing).ToString()lmTextBox.Text = My.Computer.Registry.GetValue(path, 'LeftMarginPx', Nothing).ToString()rmTextBox.Text = My.Computer.Registry.GetValue(path, 'RightMarginPx', Nothing).ToString()dtTextBox.Text = My.Computer.Registry.GetValue('HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Explorer/Advanced', 'ExtendedUIHoverTime', Nothing).ToStringEnd SubEnd Class

程序界面:

出處:http://www.cnblogs.com/technology/

本文示例源代碼或素材下載

相關文章:
主站蜘蛛池模板: 色综合色狠狠天天久久婷婷基地 | 亚洲在线免费观看视频 | 啪啪小视频网站 | 揄拍成人国产精品视频 | 久久成人免费播放网站 | 国产黑丝在线播放 | 亚洲一级毛片在线观播放 | 日韩18视频在线观看 | 毛片免费观看网址 | 久久国产香蕉一区精品 | 成人午夜电影免费完整在线看 | 欧美日韩在线视频不卡一区二区三区 | 黄色一级片a | 女人被免费网站视频在线 | 欧美特黄一区二区三区 | 日本特黄特色大片免费播放视频 | 三级在线网址 | 欧洲亚洲欧美国产日本高清 | 亚洲狠狠 | 成人a视频在线观看 | 免费一级毛片女人图片 | 日韩六九视频 | 柠檬视频污 | 中国一级一级全黄 | 精品国产欧美sv在线观看 | 欧美变态口味重另类日韩毛片 | 中文在线日本免费永久18近 | 欧美日韩中文国产一区二区三区 | 一级一毛片| 99久久免费国产精品特黄 | 男人的天堂222eee | 在线观看高清视频bbixx | 国产成人在线精品 | 一区二区三区不卡免费视频97 | 孕交欧美videos| 黄网址在线观看 | aa级毛片毛片免费观看久 | 在线精品视频在线观看高清 | 在线观看黄免费 | 国产一区日韩二区欧美三区 | 免费网站在线看 |