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

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

個(gè)性化你的Windows 7 Taskbar Thumbnail

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

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

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

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

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

程序的核心步驟:

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

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

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

每次更改完注冊(cè)表的信息后, 要看到效果不需要重新開(kāi)機(jī), 只需要關(guān)閉explore.exe, 再重新打開(kāi)即可.

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)'修改注冊(cè)表后,重啟explore.exeDim Explorers() As Process = Process.GetProcessesByName('explorer')For Each Explorer As Process In ExplorersExplorer.Kill()NextProcess.Start('explorer.exe')Explorers = NothingEnd Sub

不用擔(dān)心的是, 如果你設(shè)置這個(gè)設(shè)置那個(gè), 搞的很亂, 你可以恢復(fù)系統(tǒng)默認(rèn)值:

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''修改注冊(cè)表后,重啟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)'這個(gè)函數(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'滑動(dòng)條的值等于文本框內(nèi)的數(shù)值TrytrackBar.Value = txtBox.TextIf trackBar.Value > 512 Then '如果滑動(dòng)條的值超過(guò)512則拋出一個(gè)異常Throw New ExceptionEnd IfCatch ex As ExceptiontrackBar.Value = 512txtBox.Text = '512'End TryEnd If'如果值為空If txtBox.Text = '' Then'滑動(dòng)條的值置為0,文本框的值置為空trackBar.Value = 0txtBox.Text = ''End IfEnd Sub 'TextChanged函數(shù)Private Sub trackBar_ValueChanged(ByVal txtBox As TextBox, ByVal tracBar As TrackBar)'當(dāng)滑動(dòng)條數(shù)值變化時(shí),文本框里的數(shù)值始終和滑動(dòng)條值相等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)'修改注冊(cè)表后,重啟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''修改注冊(cè)表后,重啟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/

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

標(biāo)簽: Windows系統(tǒng)
相關(guān)文章:
主站蜘蛛池模板: 黄色毛片视频校园交易 | 真实男女xx00动态视频免费 | 鲁大师7视频在线观看 | 爱操影院| 五月婷婷网 | 9191国语精品高清在线最新 | 亚洲欧美第一页 | 黄色一级片黄色一级片 | 亚洲欧洲日韩国产一区二区三区 | 国产亚洲精品久久yy5099 | 国产伦精品一区二区三区视频小说 | 中文国产成人精品久久无广告 | 亚洲综合一区二区不卡 | aa毛片| 张柏芝国产www | 成人精品一区二区www | 久久成人激情视频 | 国产97在线看 | 三及黄色片 | 91av国产视频| 免费一级黄色毛片 | 国产成人精品免费视频大全办公室 | 亚洲成a人片在线观看中文 亚洲成a人片在线观看中文动漫 | 日本一卡2卡三卡4卡 免费网站仙踪 | 99精品视频在线 | 欧美色色图 | 欧美在线精品一区二区在线观看 | 欧美日韩高清在线 | 免费三及片 | 在线观看香蕉免费啪在线观看 | 一级毛片www | 日韩欧美精品中文字幕 | 国产婷婷色综合成人精品 | 丁香六月婷婷 | 成年女人毛片免费视频 | 91短视频版在线观看免费大全 | 日本高清xxx免费视频 | 日韩一级在线播放 | 国产精品一区二区无线 | 一级毛片免费网站 | 日韩免费一区二区三区在线 |