আমার একটি সমাধান রয়েছে যা আমি এখনই ব্যবহার করছি। আমি এর কোডিংয়ের জন্য ঘন্টা ব্যয় করেছি এবং খুব সন্তুষ্ট যে এটি আমার পক্ষে নিখুঁতভাবে কাজ করে। আপনি চাইলে এগিয়ে যান এবং এটি ব্যবহার করুন, আপনি ফোরামগুলিতে এই কোডটি অনলাইনে পোস্ট করতে চান তবে আমাকে ক্রেডিট করুন (drange 17)। আমি ঘুরেফিরে কনসোলসেন্ডের কোডটির জন্য লেক্সিকোসকে ক্রেডিট করতে চাই ।
প্রথমত, আমি সি: \ প্রোগ্রাম ফাইলগুলিতে "cmd.lnk" কমান্ড প্রম্পটে একটি শর্টকাট রেখেছি। আমি এই শর্টকাটের বৈশিষ্ট্যগুলিতে যাচ্ছি >> শর্টকাট ট্যাব >> উন্নত >> প্রশাসক হিসাবে চালানো সক্ষম করুন।
দ্বিতীয়ত, আমি অটোহটকি ডাউনলোড করেছি এবং এটি স্টার্টআপে চালানোর জন্য রেখেছি (স্টার্ট মেনু স্টার্টআপ ফোল্ডারে অটোহোটিকে একটি শর্টকাট রাখুন), যা নীচের কোড সহ (যা অবশ্যই খুব মার্জিত নয়, আমি নিশ্চিত যে কেউ আরও ভাল করতে পারে তবে এটি করে আমার জন্য উল্লম্ব টাস্কবার সংকীর্ণ করার কাজ):
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
}
ফলাফলের পাতলা উল্লম্ব টাস্কবার এখানে: