18

में पावरहेल का उपयोग करके कई डेस्कटॉप पर प्रोग्राम शुरू करना मान लीजिए कि मैं विंडोज़ 10 में कई डेस्कटॉप पर कई प्रोग्राम सी: \ program1.exe, C: \ program2.exe, आदि शुरू करना चाहता हूं। उदाहरण के लिए, प्रोग्राम 1 और 2 डेस्कटॉप 1 साइड-बाय-साइड पर शुरू किया जाना चाहिए, प्रोग्राम 3 को दूसरे डेस्कटॉप पर शुरू किया जाना चाहिए, जबकि प्रोग्राम 4 को तीसरे डेस्कटॉप पर कम से कम शुरू किया जाना चाहिए।विंडोज 10

यह या तो पावरहेल या बैच स्क्रिप्ट का उपयोग करके हासिल किया जाना चाहिए। समाधान सही होगा यदि पावरहेल स्क्रिप्ट स्वचालित रूप से पता लगाती है कि पर्याप्त डेस्कटॉप खुले हैं या यदि आवश्यक हो तो अधिक डेस्कटॉप खोलें।

batch-file-run-program-set position कई कार्यक्रमों को एक साथ खोलने और उन्हें आकार देने की समस्या का समाधान प्रदान करता है। हालांकि, ये समाधान एकाधिक विंडोज़ 10 डेस्कटॉप को संबोधित नहीं करते हैं। समाधान Monitorinfoview और एनआईआरसीएमडी (एक ही वेबसाइट) पर भरोसा करते हैं। टूल मॉनिटरफॉव्यू एकाधिक डेस्कटॉप जानकारी पुनर्प्राप्त नहीं करता है, लेकिन केवल एकाधिक स्क्रीन। एनआईआरसीएमडी में विशिष्ट डेस्कटॉप पर प्रोग्राम भेजने के लिए कमांड शामिल नहीं हैं।

+3

क्या आपने इस बारे में कोई शोध किया है? यह एक कम्युनिटी है, हम दूसरों के लिए चीजें नहीं बनाते हैं, अगर आप शुरू करने वाले कुछ काम कर रहे हैं तो हम आपकी मदद करने के लिए अनुभव करते हैं। –

+0

हाँ, मैंने निम्नलिखित समाधान की कोशिश की: [लिंक] (http://stackoverflow.com/questions/10392620/how-can-a-batch-file-run-a-program-and-set-the-position-and -ज-ऑफ-द-विंडो) हालांकि, मुझे पता नहीं चला कि कैसे शक्तियां विशिष्ट डेस्कटॉप को लक्षित कर सकती हैं। – HRSE

+2

फिर उसमें शामिल होने पर आपको जो मिला, उसे शामिल करें, त्रुटियां, निशान, विवरण .. –

उत्तर

3

यह आपको सही लाइनों पर ले जाना चाहिए। यह पावरशेल, सी # (पीएस के अंदर), विंडोज शॉर्टकट्स और बुनियादी आदेशों का उपयोग करता है। इसे एक .ps1 स्क्रिप्ट में सहेजें।

$Source = @" 
using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using WindowsInput; 

namespace CSharpPS 
{ 
    public static class PS 
    { 
     public static void NewVD() 
     { 
      InputSimulator.SimulateKeyDown(VirtualKeyCode.LWIN); 
      InputSimulator.SimulateKeyDown(VirtualKeyCode.CONTROL); 
      InputSimulator.SimulateKeyPress(VirtualKeyCode.VK_D); 
      InputSimulator.SimulateKeyUp(VirtualKeyCode.LWIN); 
      InputSimulator.SimulateKeyUp(VirtualKeyCode.CONTROL); 
     }   
    } 
} 
"@; 

Add-Type -TypeDefinition $Source -Language CSharp -ReferencedAssemblies InputSimulator.dll 

आप कर सकते हैं से https://inputsimulator.codeplex.com/

सी # InputSimulator.dll मिल एक बार प्रकार जोड़ दिया गया है आप तो नए वर्चुअल डेस्कटॉप बनाने के लिए [CSharpPS.PS]::NewVD() कॉल कर सकते हैं। यहां से आप विशिष्ट कार्यक्रम चला सकते हैं। आपको मैन्युअल रूप से नींद भी सेट करने की आवश्यकता हो सकती है। एक उदाहरण:

calc Start-Sleep -Milliseconds 500

तो आप वर्चुअल डेस्कटॉप के बीच बदलने या अनुप्रयोगों को न्यूनतम आप की तरह आवश्यक अनुमति देने के लिए सी # वर्ग का विस्तार कर सकता है एक नया आभासी डेस्कटॉप [CSharpPS.PS]::NewVD() Start-Sleep -Milliseconds 500 notepad

खोलें।

+5

मुझे विश्वास है कि यह सबसे अच्छा जवाब संभव है और मेरा मानना ​​है कि यह हास्यास्पद है। माइक्रोसॉफ्ट से हमें बचाओ।ऐप्स को अपना डिफ़ॉल्ट डेस्कटॉप सेट करने की अनुमति देने के लिए बहुत अच्छा होगा। – andymule