आप एक साधारण बैच में या एक स्क्रिप्ट से ऐसा कर सकते हैं। अपनी स्क्रीन के वर्तमान रिज़ॉल्यूशन के आधार पर टास्कबार को स्थिति देने के लिए रजिस्ट्री मान सेट करें (यदि डॉकिंग में यह अधिक होगा) और फिर explorer.exe को पुनरारंभ करें। तो जैसे अपनी स्क्रीन के बाईं टास्कबार स्थापित करने के लिए एक बैच होगा (यह मानते हुए आप घ में bottom.reg फ़ाइल है: \ लिपियों फ़ोल्डर) जा
reg add d:\scripts\Bottom.reg
@echo off taskkill /f /IM explorer.exe
explorer.exe
bottom.reg की सामग्री
हैं
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\StuckRects2]
"Settings"=hex:28,00,00,00,ff,ff,ff,ff,02,00,00,00,03,00,00,00,3e,00,00,00,2e,\
00,00,00,00,00,00,00,82,04,00,00,80,07,00,00,b0,04,00,00
और left.reg
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\StuckRects2]
"Settings"=hex:28,00,00,00,ff,ff,ff,ff,02,00,00,00,00,00,00,00,3e,00,00,00,2e,\
00,00,00,00,00,00,00,00,00,00,00,3e,00,00,00,b0,04,00,00
के लिए आप कुछ अस्थिर होगा लेकिन जब से आप ऐसा करते हैं जब आप खिड़कियों कि एक समस्या मैं लगता नहीं होगा शुरू करते हैं। मैं विंडोज पर यह परीक्षण किया 7.
संपादित करें: एक VBScript जिस स्क्रीन के आधार पर एक ही बात करता है बनाया
HKEY_CURRENT_USER = &H80000001
Set WshShell = CreateObject("WScript.Shell")
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set ObjRegistry = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\default:StdRegProv")
'Get curr. user name
Set colItems = objWMIService.ExecQuery("Select * From Win32_ComputerSystem")
For Each objItem in colItems
strCurrentUserName = objItem.UserName
Next
Set colItems = objWMIService.ExecQuery("Select * From Win32_DesktopMonitor where DeviceID = 'DesktopMonitor1'",,0)
For Each objItem in colItems
intHorizontal = objItem.ScreenWidth
intVertical = objItem.ScreenHeight
Next
bottom = Array(&H28,&H00,&H00,&H00,&Hff,&Hff,&Hff,&Hff,&H02,&H00,&H00,&H00,&H03,&H00,&H00,&H00,&H3e,&H00,&H00,&H00,&H2e,&H00,&H00,&H00,&H00,&H00,&H00,&H00,&H82,&H04,&H00,&H00,&H80,&H07,&H00,&H00,&Hb0,&H04,&H00,&H00)
left_ = Array(&H28,&H00,&H00,&H00,&Hff,&Hff,&Hff,&Hff,&H02,&H00,&H00,&H00,&H00,&H00,&H00,&H00,&H3e,&H00,&H00,&H00,&H2e,&H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00,&H3e,&H00,&H00,&H00,&Hb0,&H04,&H00,&H00)
if intHorizontal >= 1920 then
regdata = bottom
else
regdata = left_
end if
ObjRegistry.SetBinaryValue HKEY_CURRENT_USER, "Software\Microsoft\Windows\CurrentVersion\Explorer\StuckRects2\", "Settings", regdata
'Restart user shell
Set colProcessList = objWMIService.ExecQuery("Select * from Win32_Process Where Name = 'Explorer.exe'")
For Each objProcess in colProcessList
colProperties = objProcess.GetOwner(strNameOfUser,strUserDomain)
wscript.echo colProperties
If strUserDomain & "\" & strNameOfUser = strCurrentUserName then
wscript.echo "restarting"
objProcess.Terminate()
end if
Next
एक निश्चित बात यह है कि VBScript किसी भी बिना टास्कबार स्थान बदलने के लिए नहीं कर सकेंगे है तीसरे पक्ष के उपकरण। मैं वर्तमान स्क्रीन आकार और अभिविन्यास के आधार पर बदलते टास्कबार स्थान को स्वचालित करने के साथ-साथ डॉकिंग स्थिति (WMI ऑब्जेक्ट के माध्यम से) पूछताछ के लिए * ऑटोआईटी * स्क्रिप्ट (माउस फ़ंक्शंस के माध्यम से) का उपयोग करने का सुझाव देता हूं। – Jay
जय, मैंने साबित किया कि यह किया जा सकता है, मेरा जवाब देखें, vbscript अनुमान के तहत नहीं – peter