久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

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

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

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

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

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

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

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

程序的核心步驟:

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

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

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

每次更改完注冊表的信息后, 要看到效果不需要重新開機(jī), 只需要關(guān)閉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

不用擔(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''修改注冊表后,重啟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'滑動條的值等于文本框內(nèi)的數(shù)值TrytrackBar.Value = txtBox.TextIf trackBar.Value > 512 Then '如果滑動條的值超過512則拋出一個(gè)異常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)'當(dāng)滑動條數(shù)值變化時(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/

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

標(biāo)簽: Windows系統(tǒng)
相關(guān)文章:
主站蜘蛛池模板: 精品成人在线 | 性一交一乱一透一a级 | 日本黄色一级片免费看 | 免费三片在线观看网站 | 国产亚洲一区二区三区 | 99re热精品视频 | av自拍| 欧美日韩综合精品 | 亚洲高清av在线 | 国产大片aaa | 欧美一级在线视频 | 91视频分类| 在线观看亚洲 | 激情久久久久 | 亚洲精品国精品久久99热 | 免费毛片网站 | 四虎永久免费影院 | 日韩精品一区二区三区 | 欧美一区永久视频免费观看 | 国产精品久久久久久一区二区三区 | 久久视频一区 | 欧美v片| www在线观看国产 | 欧美一级二级视频 | 91在线视频播放 | 久久九| 国产小视频在线 | 中文字幕精品一区久久久久 | 日韩在线观看视频免费 | 成人免费crm一区二区 | 久久最新| 国产精品第一国产精品 | 在线伊人网 | 天天爽夜夜爽 | 麻豆freexxxx性91精品 | 免费成人在线网站 | 午夜电影 | 草草视频网站 | 男人的天堂中文字幕 | 国产99久久精品一区二区永久免费 | 欧美日韩在线不卡 |