Прежде всего, спасибо @CodingGorilla за предложение об AutoHotkey. Я играл с этим последние пару дней.
Я пошел по маршруту AutoHotkey, так как я не мог найти легкое место для запуска любого API Windows 10. Все виды документации для тотального оповещения, но я не мог найти ничего, чтобы контролировать центр действий. Если у кого-то есть предложения на этом фронте, пожалуйста, разместите их.
Вот что я придумал с помощью AutoHotkey. Довольно простое, но не идеальное решение, поскольку с этим связано несколько переменных. Ниже AutoHotkey код скрипта, который используется, чтобы открыть центр действий, нажмите кнопку подключения, затем щелкните самый верхний в списке беспроводного дисплей:
Send #a ;Sends Windows button + A to open the action center
Sleep, 750 ; Give it some time to slide open
ImageSearch, FoundX, FoundY, 0, 0, A_ScreenWidth, A_ScreenHeight, C:\Connect.png ;Try to find the Connect button tile
if ErrorLevel = 2
MsgBox Could not conduct the search for the connect button in action center. Make sure your search image is in the correct location.
else if ErrorLevel = 1
MsgBox Connect button cannot be found on the screen.
else
MoveMouseAndClick(FoundX, FoundY)
Sleep, 1250 ;Delay so the wireless displays have a chance to load into the Action Center window
ImageSearch, FoundX, FoundY, 0, 0, A_ScreenWidth, A_ScreenHeight, C:\WirelessDisplay.png
if ErrorLevel = 2
MsgBox Could not conduct the search for the wireless display.
else if ErrorLevel = 1
{
;Search image cannot be found. Try 1 more time in case it took a long time for the wireless displays to appear
Sleep, 750
ImageSearch, FoundX, FoundY, 0, 0, A_ScreenWidth, A_ScreenHeight, C:\WirelessDisplay.png ;try to find the first Wireless Display device listed
if ErrorLevel = 1
MsgBox Wireless display image cannot be found on the screen. Make sure the wireless device is turned on.
else
MoveMouseAndClick(FoundX, FoundY)
}
else
MoveMouseAndClick(FoundX, FoundY)
Send {Esc} ;Send Esc to get rid of the Action Center window
Return
MoveMouseAndClick(x, y) {
MouseMove, x + 25, y + 25 ;Move it down the right a bit to make sure we click the button
Sleep, 250
MouseClick, left
}
Я также прилагаемые изображения в качестве примера того, что я сделал. Вам нужно будет сделать свои собственные изображения для поиска. Перед тем, как делать эти изображения, вы также должны отключить прозрачность Центра действий, запуска и панели задач в Windows 10 - Настройки -> Персонализация -> Цвета -> Сделать старт, панель задач и центр действия прозрачным -> Выкл.. Особенно важно повторить второе изображение, так как мои изображения отображают «Roku Stick» внутри изображения. Мне пришлось повторить мое изображение поиска между моей машиной разработки на рабочем столе и MS Surface 3. Я запускаю этот скрипт. Решения и таковые будут меняться между устройствами. Следуйте инструкциям о том, как создать свой собственный поиск изображения здесь:
https://autohotkey.com/docs/commands/ImageSearch.htm
Наконец, это, вероятно, не будет работать, если беспроводной дисплей уже подключен. В моей среде подключение беспроводного дисплея приводит к изменению разрешения на планшете, и поэтому оно не может найти изображения на экране.
@ MuratYıldız - Мы пытаемся подключиться к «беспроводному дисплею» - а не только к сети WiFi. – jaredbaszler
Я не думаю, что эти API-интерфейсы Miracast - это то, что вы думаете о них, вероятно, именно то, что Windows использует сам (под капотом), чтобы сделать зеркальное отображение экрана, а не API для самого зеркального отображения экрана. Считаете ли вы что-то вроде [AutoHotKey] (https://www.autohotkey.com/), что вы можете по существу записывать макросы с клавишами + мышь и выполнять их нажатием клавиши – CodingGorilla
В соответствии с приведенной вами документацией Miracast API является списком функций, которые должен выполнить драйвер; вы не можете вызвать их, потому что операционная система уже должна иметь сокет-соединение с устройством. Вы искали автоматизацию поверх API уведомлений? Это было бы наиболее вероятно, так как вы просто пытаетесь автоматизировать нажатие Connect -> MS Wireless adapter -> connect. –