Что нового

MediaCoder. Ввод в поле результата математического выражения

Vadim88

Новичок
Сообщения
3
Репутация
0
Версия AutoIt:3.3.14.2

Описание:

Есть программа для перекодировки медиа файлов из одного формата в другой - MediaCoder (гуглится легко. ссылки запрещены мне). Жует практически все, пережевывает также во что угодно. Самое главное умеет жать в H265 в который я сейчас загоняю свою видео коллекцию. H265 - новый кодек, очень эффективный, и мало какая программа с ним работает.

Бесплатная версия программы полностью функционально, но она требует раз в два файла из очереди вводить результат простого математического выражения в окошко и нажимать кнопку. Т.е. программу уходя из дома не оставишь, а перекодировка ведь долгий процесс и ресурсозатратный - хорошо бы её делать когда сам не за компом.

Давайте я покажу что происходит при возникновении окошка.
Работает основная программа с именем окна "MediaCoder x64 ...". При окончании кодировки каждого второго файла всплывает окошко "Continue in 120 minutes":

Рисунок "1". (ссылки то нельзя мне вставлять)

"Window info" показывает его свойства. "120 minutes" убывают.

Так вот теперь задача AutoIt'у: найти это окно, в нем найти строчку "Let's do a simle math:...":

Рисунок "2".

Вычислить это выражение (оно простое, плюс или минус два двухзначных числа). И вписать его в окошко:

Рисунок "3".

В конце нажать кнопку "Continue":

Рисунок "4".

И ждать появления окошка обратно. "Window info" на скриншотах показывает свойства подчеркнутого элемента.


Вроде просто же да?

Примечания:

Лет семь назад я бы реализовал это в "Inq Soft Sign Of Mistery" помните такую программу? Ведь тоже самое, только русская. Жаль, умерла, на семерке не работает. Но AutoIt, я посмотрел, сильно круче - вот только осваивать мне ее будет долго.



Привет сообществу! Вы крытые ребята! Программа, я думаю, класс! помните пожалуйста!
 

Вложения

  • 1.png
    1.png
    99.3 КБ · Просмотры: 18
  • 2.png
    2.png
    49.2 КБ · Просмотры: 13
Автор
V

Vadim88

Новичок
Сообщения
3
Репутация
0
скриншоты продолжение.


Добавлено:
Сообщение автоматически объединено:

"помните пожалуйста!" - помогите, пожалуйста :smile:
 

Вложения

  • 3.png
    3.png
    72 КБ · Просмотры: 15
  • 4.png
    4.png
    70.6 КБ · Просмотры: 12

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
Попробуйте так:
Код:
AdlibRegister("_Continue")
HotKeySet("{ESC}", "_Exit")

While 1
	Sleep(10)
WEnd

Func _Exit()
	AdlibUnRegister("_Continue")
	Exit
EndFunc

Func _Continue()

	$sWndClass = "[CLASS:#32770]"
	If WinExists($sWndClass) Then
		$sData = ControlGetText($sWndClass, "", "[CLASS:Static; INSTANCE:5]")
		$sData = Execute(StringRegExpReplace($sData, "([^\d+\+|\-|\*|\/\d+])", "$2"))
		ControlSetText($sWndClass, "", "[CLASS:Edit; INSTANCE:2]", $sData)
		ControlClick($sWndClass, "", "[CLASS:Button; INSTANCE:2]")
	EndIf
EndFunc
 
Автор
V

Vadim88

Новичок
Сообщения
3
Репутация
0
Работает! Работает! Работает! :laugh:

Искомое окно я, человек, даже заметить не успеваю.

Спасибо!
 
Верх