Windows 10의 파워셸을 사용하여 여러 데스크톱에서 프로그램 시작
Windows 10의 여러 데스크톱에서 여러 프로그램 C:\program1.exe, C:\program2.exe 등을 시작하려고 합니다.예를 들어 프로그램 1과 2는 바탕 화면 1에서 나란히 시작하고 프로그램 3은 두 번째 바탕 화면에서 시작하고 프로그램 4는 세 번째 바탕 화면에서 최소화해야 합니다.
이 작업은 파워셸 또는 배치 스크립트를 사용하여 수행해야 합니다.PowerShell 스크립트가 충분한 데스크톱이 열려 있는지 여부를 자동으로 감지하고 필요한 경우 더 많은 데스크톱을 열 수 있다면 솔루션이 완벽할 것입니다.
배치 파일 실행 프로그램 집합 위치는 여러 프로그램을 나란히 열고 크기를 조정하는 문제에 대한 해결책을 제공합니다.그러나 이러한 솔루션은 여러 윈도우즈 10 데스크톱을 지원하지 않습니다.솔루션은 Monitorinfoview 및 NirCmd(동일한 웹 사이트)에 의존합니다.도구 모니터 정보 보기는 여러 데스크톱 정보를 검색하지 않고 여러 화면만 검색합니다.NirCmd에는 특정 데스크톱으로 프로그램을 보내는 명령도 포함되어 있지 않습니다.
가상 데스크톱에서 작동하는 Powershell 명령이 있습니다.먼저 가상 데스크톱 모듈을 설치해야 합니다.Install-Module VirtualDesktop
# Switch to desktop 2 (count starts with 0)
Get-Desktop 1 | Switch-Desktop
# Move obs64.exe to desktop 3
(ps obs64)[0].MainWindowHandle | Move-Window (Get-Desktop 2) | Out-Null
시작 프로세스가 다음을 사용하여 창을 초기화할 때까지 기다려야 할 수 있습니다.Start-Sleep
여기서 더 읽기: https://gallery.technet.microsoft.com/scriptcenter/Powershell-commands-to-d0e79cc5
이것은 당신을 정확하게 연결시켜 줄 것입니다.PowerShell, C#(PS 내부), Windows 바로 가기 및 기본 명령을 사용합니다..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
C# InputSimulator.dll은 https://inputsimulator.codeplex.com/ 에서 얻을 수 있습니다. 링크가 비활성화되었지만 웨이백 시스템이 https://web.archive.org/web/20210501220444/https ://archive.codeplex.com/ ?p= 입력 시뮬레이터를 도와줄 것입니다.
유형이 추가되면 전화를 걸 수 있습니다.[CSharpPS.PS]::NewVD()
새 가상 데스크톱을 생성합니다.여기서 특정 프로그램을 실행할 수 있습니다.절전 모드를 수동으로 설정해야 할 수도 있습니다.예:
calc Start-Sleep -Milliseconds 500
그런 다음 새 가상 데스크톱을 엽니다.[CSharpPS.PS]::NewVD() Start-Sleep -Milliseconds 500 notepad
C# 클래스를 확장하여 가상 데스크톱 간에 변경하거나 필요한 애플리케이션을 최소화할 수 있습니다.
언급URL : https://stackoverflow.com/questions/32491872/starting-programs-on-multiple-desktops-using-powershell-in-windows-10
'programing' 카테고리의 다른 글
엑셀의 INDEX 함수가 배열을 반환할 수 있습니까? (0) | 2023.08.22 |
---|---|
로깅 수준 설정 (0) | 2023.08.22 |
Android Gradle: build toolsVersion 대 compileSdkVersion (0) | 2023.08.22 |
Ajax를 사용한 Tiny MCE 텍스트 영역 및 게시 양식 (0) | 2023.08.22 |
엑셀 시트의 셀을 프로그래밍 방식으로 포맷하는 방법은? (0) | 2023.08.22 |