Получить минуты и вывести их с помощью SendKeys - PullRequest
0 голосов
/ 31 августа 2018

это мой первый раз, и я хотел начать с малого. Моя цель проста: получить текущее время (Get-Date -Format mm) и вывести это 2-значное число в виде нажатия клавиш с помощью SendKeys.

Проблема в том, что я понятия не имею, как преобразовать эти 2-значные выходные данные в объект для вывода с помощью «SendKeys».

Ответы [ 2 ]

0 голосов
/ 31 августа 2018

Сначала преобразуйте результаты Datetime в строку, используя метод ToString(), если у вас возникли проблемы с отправкой, вот полный пример отправки его в блокнот:

## Find all Active Windows Titles
$windows=Get-Process | Where-Object {$_.MainWindowTitle -ne ""} | Select-Object MainWindowTitle
## Find Specific name 
$WindowTitle=($windows | ? {$_ -match "Notepad"} ).MainWindowTitle
## Add Type and Focus Activate the Window
$wshell = New-Object -ComObject wscript.shell
$wshell.AppActivate($WindowTitle)
## Send Keys
$wshell.SendKeys((Get-Date -Format mm).ToString())
0 голосов
/ 31 августа 2018

Не уверен, что полное требование здесь, но вы можете отправить минуты в блокнот, как показано ниже

Add-Type -AssemblyName microsoft.VisualBasic
Add-Type -AssemblyName System.Windows.Forms
$secs = Get-Date -Format mm
notepad

start-sleep -Milliseconds 500

[Microsoft.VisualBasic.Interaction]::AppActivate("notepad")

[System.Windows.Forms.SendKeys]::SendWait($secs)
...