मेरे पास एक समाधान है जिसका मैं अभी उपयोग कर रहा हूं। मैंने इसे कोड करने में घंटों बिताए और मैं बहुत संतुष्ट हूं कि यह मेरे लिए पूरी तरह से काम करता है। आगे बढ़ो और यदि आप चाहते हैं, तो इसका उपयोग करें, अगर आप इस कोड को मंचों में ऑनलाइन पोस्ट करना चाहते हैं, तो मुझे (drange17) क्रेडिट करें। मैं, सांत्वना के लिए कोड के लिए श्रेय लेक्सिकोस को देना चाहूंगा।
सबसे पहले, मैंने C: \ Program Files में "cmd.lnk" नामक कमांड प्रॉम्प्ट का एक शॉर्टकट रखा। मैं इस शॉर्टकट के गुणों >> शॉर्टकट टैब >> एडवांस >> रन को व्यवस्थापक के रूप में चला जाता हूं।
दूसरे, मैंने AutoHotkey डाउनलोड किया और इसे स्टार्टअप पर चलाने के लिए रखा (स्टार्ट मेन्यू स्टार्टअप फ़ोल्डर में AutoHotkey का शॉर्टकट लगाएं), निम्न कोड के साथ (जो निश्चित रूप से बहुत सुरुचिपूर्ण नहीं है, मुझे यकीन है कि कोई बेहतर कर सकता है, लेकिन यह करता है) मेरे लिए ऊर्ध्वाधर टास्कबार को संकीर्ण करने का काम):
Sleep, 15000
SendInput {LWin Down}r{LWin Up}
IfWinExist, Run
WinActivate
Sleep, 500
SendInput {Raw}RunDll32.exe shell32.dll,Options_RunDLL 1
SendInput {Enter}
WinWait, Taskbar and Start Menu Properties
SendInput {Tab}{Space}{Enter}
WinWaitClose
Run C:\Program Files\cmd.lnk
WinWait, Administrator: cmd ahk_class ConsoleWindowClass
winwaitactive Administrator: cmd ahk_class ConsoleWindowClass
ConsoleSend("net stop uxsms", "ahk_class ConsoleWindowClass")
ConsoleSend("`r", "ahk_class ConsoleWindowClass")
Sleep, 3000
ConsoleSend("net start uxsms", "ahk_class ConsoleWindowClass")
ConsoleSend("`r", "ahk_class ConsoleWindowClass")
Sleep, 3000
ConsoleSend("exit", "ahk_class ConsoleWindowClass")
ConsoleSend("`r", "ahk_class ConsoleWindowClass")
WinWaitClose
SendInput {LWin Down}r{LWin Up}
IfWinExist, Run
WinActivate
Sleep, 500
SendInput {Raw}RunDll32.exe shell32.dll,Options_RunDLL 1
SendInput {Enter}
WinWait, Taskbar and Start Menu Properties
SendInput {Tab}{Space}{Enter}
Run outlook.exe
ConsoleSend(text, WinTitle="", WinText="", ExcludeTitle="", ExcludeText="")
{
WinGet, pid, PID, %WinTitle%, %WinText%, %ExcludeTitle%, %ExcludeText%
if !pid
return false, ErrorLevel:="window"
if !DllCall("AttachConsole", "uint", pid)
return false, ErrorLevel:="AttachConsole"
hConIn := DllCall("CreateFile", "str", "CONIN$", "uint", 0xC0000000
, "uint", 0x3, "uint", 0, "uint", 0x3, "uint", 0, "uint", 0)
if hConIn = -1
return false, ErrorLevel:="CreateFile"
VarSetCapacity(ir, 24, 0) ; ir := new INPUT_RECORD
NumPut(1, ir, 0, "UShort") ; ir.EventType := KEY_EVENT
NumPut(1, ir, 8, "UShort") ; ir.KeyEvent.wRepeatCount := 1
Loop, Parse, text ; for each character in text
{
NumPut(Asc(A_LoopField), ir, 14, "UShort")
NumPut(true, ir, 4, "Int") ; ir.KeyEvent.bKeyDown := true
gosub ConsoleSendWrite
NumPut(false, ir, 4, "Int") ; ir.KeyEvent.bKeyDown := false
gosub ConsoleSendWrite
Sleep, 10
}
gosub ConsoleSendCleanup
return true
ConsoleSendWrite:
if ! DllCall("WriteConsoleInput", "uint", hconin, "uint", &ir, "uint", 1, "uint*", 0)
{
gosub ConsoleSendCleanup
return false, ErrorLevel:="WriteConsoleInput"
}
return
ConsoleSendCleanup:
if (hConIn!="" && hConIn!=-1)
DllCall("CloseHandle", "uint", hConIn)
DllCall("FreeConsole")
return
}
यहाँ परिणामी पतली ऊर्ध्वाधर टास्कबार है: