আমার দ্বৈত মনিটর রয়েছে এবং আমি আমার বর্তমান উইন্ডোটি বিস্তৃত করতে চাই যাতে এটি উভয় মনিটরে এক বিশালাকার উইন্ডো হিসাবে উপস্থিত হয়। কেউ কি উইন্ডোজে স্থানীয়ভাবে এটি করতে জানেন?
আমার দ্বৈত মনিটর রয়েছে এবং আমি আমার বর্তমান উইন্ডোটি বিস্তৃত করতে চাই যাতে এটি উভয় মনিটরে এক বিশালাকার উইন্ডো হিসাবে উপস্থিত হয়। কেউ কি উইন্ডোজে স্থানীয়ভাবে এটি করতে জানেন?
উত্তর:
অন্যেরা যা বলছেন তার বিপরীতে, এখানে একটি নিখরচায়, কার্যকর সমাধান যা মাউসের নীচে থাকা উইন্ডোটিকে সর্বাধিক করে তোলে।
(ক্রেডিটগুলি সেই লোকটির কাছে যায় যিনি এই আশ্চর্যজনক 'অটোইট' ফাংশনগুলি লিখেছিলেন - আমি কেবল এটি লিখেছিলাম যা এটি ব্যবহার করে))
এটি স্বয়ংক্রিয়ভাবে ডাউনলোড করুন এবং এটি ইনস্টল করুন (বিনামূল্যে সফ্টওয়্যার):
http://www.autoitscript.com/site/autoit/
একটি .au3 ফাইল তৈরি করুন।
এটি ভিতরে আটকান:
#include <misc.au3>
#include <Array.au3>
HotKeySet('{ESC}', '_Exit')
Global $WinText, $OldMouse[2], $NewMouse[2], $Windows, $x, $MyWin, $MyCoords
$NewMouse = MouseGetPos()
$title = _GetWin()
WinSetState($MyWin,"",@SW_RESTORE)
WinMove($MyWin,"",0,0,3840,1165)
Func _GetWin()
Local $Coords
ToolTip("")
$Mouse = MouseGetPos()
$OldMouse = $Mouse
$Windows = _WinList()
;_ArrayDisplay($Windows, "")
For $x = 1 To UBound($Windows)-1
$Coords = WinGetPos($Windows[$x][0], "")
If $Coords = -4 Then ExitLoop
If IsArray($Coords) Then
If $Mouse[0] >= $Coords[0] And $Mouse[0] <= ($Coords[0]+$Coords[2]) And $Mouse[1] >= $Coords[1] And $Mouse[1] <= ($Coords[1]+$Coords[3]) Then ExitLoop
EndIf
Next
If $x = UBound($Windows) Then $x -= 1
$MyWin = $Windows[$x][0]
$Control = _MouseGetCtrlInfo()
$Return = $Windows[$x][0] & @CRLF & $Control
Return $Return
EndFunc
Func _WinList()
Local $WinListArray[1][2]
$var = WinList()
For $i = 1 to $var[0][0]
If $var[$i][0] <> "" AND IsVisible($var[$i][1]) Then
Redim $WinListArray[UBound($WinListArray) + 1][2]
$WinListArray[UBound($WinListArray)-1][0] = $var[$i][0]
$WinListArray[UBound($WinListArray)-1][1] = $var[$i][1]
EndIf
Next
Return $WinListArray
EndFunc
Func IsVisible($handle)
If BitAnd( WinGetState($handle), 2 ) Then
Return 1
Else
Return 0
EndIf
EndFunc
Func _Exit()
Exit
EndFunc
Func _MouseGetCtrlInfo() ; get ID, Classe and Text of a control
Global $hWin = WinGetHandle($MyWin)
Global $sClassList = WinGetClassList($hWin)
Local $sSplitClass = StringSplit(StringTrimRight($sClassList, 1), @LF)
Local $aMPos = MouseGetPos()
;_ArrayDisplay($sSplitClass, "")
$MyCoords = ClientToScreen($hWin)
For $iCount = UBound($sSplitClass) - 1 To 1 Step - 1
Local $nCount = 0
If $sSplitClass[$iCount] = "WorkerW" Then ContinueLoop
While 1
$nCount += 1
$aCPos = ControlGetPos($hWin, '', $sSplitClass[$iCount] & $nCount)
If @error Then ExitLoop
$hCtrlWnd = ControlGetHandle ($hWin, "", $sSplitClass[$iCount] & $nCount)
If IsArray($aCPos) Then
If $aMPos[0] >= ($MyCoords[0]+$aCPos[0]) And $aMPos[0] <= ($MyCoords[0]+$aCPos[0] + $aCPos[2]) _
And $aMPos[1] >= ($MyCoords[1]+$aCPos[1]) And $aMPos[1] <= ($MyCoords[1]+$aCPos[1] + $aCPos[3]) Then
$aReturn = DllCall('User32.dll', 'int', 'GetDlgCtrlID', 'hwnd', $hCtrlWnd)
If @error Then Return "Err"
$Text = ControlGetText($hWin, '', $sSplitClass[$iCount] & $nCount)
If StringInStr($Text, @LF) Then $Text = "demasiado largo"
If IsArray($aReturn) Then Return 'ControlID: ' & $aReturn[0] & @CRLF & 'ClassNameNN: ' & $sSplitClass[$iCount] & $nCount & @CRLF & "Text: " & $Text
EndIf
EndIf
WEnd
Next
;_ArrayDisplay($sSplitClass, "")
Return "No Ctrl"
EndFunc
Func ClientToScreen($hWnd) ; get client area of a win relative to the screan
Local $Point, $aRes[2]
Local $cX, $cY
$Point = DllStructCreate("int;int")
DllStructSetData($Point, 1, $cX)
DllStructSetData($Point, 1, $cY)
DllCall("User32.dll", "int", "ClientToScreen", "hwnd", $hWnd, "ptr", DllStructGetPtr($Point))
$aRes[0] = DllStructGetData($Point, 1)
$aRes[1] = DllStructGetData($Point, 2)
Return $aRes
EndFunc
তারপরে লাইনটি পরিবর্তন করুন
WinMove ($ MyWin, "", 0,0,3840,1165)
আপনার পছন্দ মত মান।
তারপরে আপনি এই ফাইলটিতে একটি উইন্ডোজ শর্টকাট তৈরি করতে পারেন, এটি-> বৈশিষ্ট্যগুলিতে ডান ক্লিক করুন এবং একটি শর্টকাট বরাদ্দ করতে পারেন (যেমন CTRL + ALT + UP)।
সম্ভবত আপনি খুঁজে পাবেন যে পদ্ধতিটি পুনরাবৃত্তি করতে হবে এবং উইন্ডোটিকে একটি ছোট আকারে পুনরুদ্ধার করতে একটি দ্বিতীয় ফাইল তৈরি করতে হবে।
আশাকরি এটা সাহায্য করবে
জেফ অ্যাক্সেলরোডের দুর্দান্ত সমাধান রয়েছে যা অটোহটকি ব্যবহার করে ।
তিনি Shift + Windows + Up
সমস্ত প্রদর্শন জুড়ে একটি উইন্ডো সর্বাধিকীকরণের জন্য সংমিশ্রণটির মানচিত্র তৈরি করেন , যা উইন্ডোজ 7 এর Windows + Up
হটকিকে প্রশংসা করে, যা একটি মনিটরে নির্বাচিত উইন্ডোকে সর্বাধিক করে তোলে।
এখানে তার কোড (ধন্যবাদ জেফ!):
;Shift + Windows + Up (maximize a window across all displays) https://stackoverflow.com/a/9830200/470749
+#Up::
WinGetActiveTitle, Title
WinRestore, %Title%
SysGet, X1, 76
SysGet, Y1, 77
SysGet, Width, 78
SysGet, Height, 79
WinMove, %Title%,, X1, Y1, Width, Height
return
দ্বৈত মনিটরের সরঞ্জামগুলি ব্যবহার করুন : এটি একাধিক স্ক্রিন সেটআপ পরিচালনা করে ফ্রি সরঞ্জামগুলির একটি সেট ।
ইন সোয়াপ পর্দা টুল আপনি তাই আপনি এটি বৃদ্ধি করতে পারেন সব পর্দা ব্যাপৃত "অতি বৃহত সক্রিয় উইন্ডো" করার জন্য একটি হট-ধার্য করতে পারেন।
আপনার যদি এনভিডিয়া ভিডিও কার্ড থাকে:
এখন, আপনি যখন সর্বাধিক বোতামটি ক্লিক করেন, এটি উভয় মনিটরকে কভার করবে। আপনার টাস্কবার উভয় মনিটরকেও কভার করবে। যদি এটি আপনাকে বাগ দেয়, এটি মনিটরের বাম দিকে টেনে আনার চেষ্টা করুন যাতে এটি উল্লম্ব হয়ে যায় (আপনি যদি আইকনগুলি ছোট করেন এবং 'কখনই সংযুক্ত না করেন' ব্যবহার করেন তবে এটি আরও ভাল কাজ করে)।
ভার্চুয়ালস্ক্রিনম্যাক্সিমাইজার এটি করার জন্য আমি একটি নিখরচায় ইউটিলিটি ব্যবহার করি:
http://virtualscreenmax.codeplex.com/releases/view/20213
আপনি সর্বাধিকীকরণ এবং পুনরুদ্ধার করতে শর্টকাটগুলি কাস্টমাইজ করতে পারেন এবং সর্বাধিককরণের সময় এটি টাস্কবারের উপরে উইন্ডোটি প্রসারিত করবে।
কিছুটা দেরি হলেও ইন্টেল ইন্টিগ্রেটেড গ্রাফিক্স ব্যবহার করে আপনি ইন্টেল গ্রাফিক্স কন্ট্রোল প্যানেল খুলতে পারবেন, ডিসপ্লে মেনুটি নির্বাচন করতে পারেন এবং সেখান থেকে একাধিক ডিসপ্লে বেছে নিতে পারেন এবং "কোলাজ" বেছে নিতে পারবেন যা আপনাকে অন্য কিছু পছন্দের পাশাপাশি কোন মনিটরকে প্রসারিত করতে চান তা বেছে নিতে দেয় ।
এখানে এটির একটি স্ক্রিনশট সক্ষম করা আছে:
আমার উইন্ডোজ 7 এ আমি উইন্ডোটি টেনে আনতে সক্ষম হয়েছি যাতে এটি উভয় স্ক্রিনকেই coversেকে দেয়। আপনি যদি ডেস্কটপে ডানদিকে ক্লিক করেন এবং "স্ক্রিন রেজোলিউশন" চয়ন করেন, আপনাকে "একাধিক ডিসপ্লে" এর অধীনে "এই প্রদর্শনগুলি প্রসারিত করুন" বেছে নিতে হবে। আপনি যদি আবার উইন্ডোটি বন্ধ করেন তবে এটির আকার এবং অবস্থান মনে রাখা উচিত।
যদি এখনও কেউ স্বয়ংক্রিয় ব্যবহার করে এটি করার চেষ্টা করছে তবে আমি এই কোডটি ব্যবহার করে এটি পরিচালনা করেছি:
HotKeySet("^+{UP}", "Resize_Window") ; CTRL+SHIFT+UP
While 1
Sleep(1000)
WEnd
Func Resize_Window()
WinSetState("[ACTIVE]","",@SW_RESTORE)
WinMove("[ACTIVE]","",0,0,_WinAPI_GetSystemMetrics($SM_CXVIRTUALSCREEN),_WinAPI_GetSystemMetrics($SM_CYVIRTUALSCREEN))
EndFunc
আমি সাইজার ( হোমপেজ ) এর সাহায্যে এই কার্যকারিতাটি ব্যবহার করি - এর ছোট ফ্রিওয়্যার ইউটিলিটি আপনাকে উইন্ডো প্রসারিত অঞ্চলে ডান ক্লিক করে পূর্বনির্ধারিত উইন্ডোজ আকার সেট করতে দেয়।
স্রেফ প্রোফাইল সেট তৈরি করুন:
তারপরে উইন্ডোটির ডান-নীচে প্রান্তে ডান ক্লিক করুন এবং প্রোফাইল নির্বাচন করুন।
আমি কোনও সফ্টওয়্যার বা কোড ছাড়াই এটি করার একটি উপায় পেয়েছি। এটি স্বয়ংক্রিয় বা নিখুঁত নয়, তবে এটি সহজ এবং যথেষ্ট কার্যকর।
উইন্ডোজের সরঞ্জামদণ্ডে ডান ক্লিক করুন, পুনরুদ্ধার নির্বাচন করুন, তারপরে উভয় স্ক্রিনে এটি আকার দিন।