क्या बैच / पावरस्क्रिप्‍ट लिपि का उपयोग करके मॉनिटर पर 4 विंडो खोलना और संरेखित करना संभव है?


0

Windows10 पर मैं एक वर्चुअल डेस्कटॉप पर 4 विंडो तक मैन्युअल रूप से खोल और संरेखित कर सकता हूं:

4 windows aligned on screen

मैं बहुत बार ऐसा करता हूं, मेरे पास स्क्रीन पर इसकी दो परतें भी हैं, एक परत फ़ोल्डरों के साथ और दूसरी शक्तियां कंसोल के साथ एक ही डिस्क-स्थान पर इंगित करती हैं।

मुद्दा यह है, कि जब भी विंडोज़ 10 में से कोई एक फिट बैठता है और पुनः आरंभ करना चाहता है, तो मुझे लगभग एक दर्जन फोल्डर्स को फिर से खोलना होगा & amp; काम जारी रखने के लिए शान्ति। हालांकि यह इस बीच की दिनचर्या है और मुश्किल से कुछ मिनटों से अधिक समय लगता है, फिर भी कुछ मिनटों से अधिक समय लगता है और यह एक भयानक काम है जो मुझे लगता है कि स्वचालित होना चाहिए।

क्यू : क्या इस उद्घाटन को स्वचालित करने का एक तरीका है & amp; बैच या शक्तियां स्क्रिप्ट के साथ विंडो संरेखित करना?


जवाबों:


0

इसके लिए समाधान के एक टन हैं लेकिन यह कोड तीसरे पक्ष के उपकरण के बिना इसे प्राप्त करने में मदद करता है हम दुर्भाग्य से उपयोग नहीं कर सकते SendKeys क्यों कि Win कुंजी अनुपलब्ध है।

यह थोड़ा हैकरी है। आदर्श रूप से आप लक्ष्य मॉनिटर के रिज़ॉल्यूशन को क्वेरी करना चाहेंगे और प्रत्येक प्रक्रिया को वांछित पिक्सेल स्थिति के साथ शुरू करेंगे।

# stuff needed to send keystrokes
$source = @"
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Runtime.InteropServices;
using System.Windows.Forms;
namespace KeyboardSend
{
    public class KeyboardSend
    {
        [DllImport("user32.dll")]
        public static extern void keybd_event(byte bVk, byte bScan, int dwFlags, int dwExtraInfo);
        private const int KEYEVENTF_EXTENDEDKEY = 1;
        private const int KEYEVENTF_KEYUP = 2;
        public static void KeyDown(Keys vKey)
        {
            keybd_event((byte)vKey, 0, KEYEVENTF_EXTENDEDKEY, 0);
        }
        public static void KeyUp(Keys vKey)
        {
            keybd_event((byte)vKey, 0, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, 0);
        }
    }
}
"@

Add-Type -TypeDefinition $source -ReferencedAssemblies "System.Windows.Forms"

# the arrow key combinations (0 = Left Up, 1 = Left Down, 2 = Right Up, 3 = Right Down)
$LR = @('Left','Left','Right','Right')
$UD = @('Up','Down','Up','Down')

# edit the sleep value as needed.
$sleepMS = 200

# start a process, move it in the next desirable position, x4
0..3 | % {

    Start-Process powershell
    # if we don't wait for the process to open, we might not have focus.
    Sleep -Milliseconds $sleepMS
    [KeyboardSend.KeyboardSend]::KeyDown("LWin")
    [KeyboardSend.KeyboardSend]::KeyDown($LR[$_])
    Sleep -Milliseconds $sleepMS
    [KeyboardSend.KeyboardSend]::KeyDown($UD[$_])
    [KeyboardSend.KeyboardSend]::KeyUp("LWin")
    Sleep -Milliseconds $sleepMS
    [KeyboardSend.KeyboardSend]::KeyDown("Escape")

}

उपलब्ध कुंजियों की सूची

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.