Что нового

[Окна, Диалоги] Скрыть окно программы

goldoba

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

Описание:есть программа hipercam2 Работает по горячим клавишам F2 начало записи F2 для остановки. Нужно сделать так что бы программа запускалась только в процессах, и начинала запись по запуску определённого процесса, тоесть появился определённый процесс сработало F2, закрылся процесc опять сработало F2 Начало записи и остановка по завершению определённого процесса

Примечания: Повторюсь программа должна быть полностью не видима не раздражать своим присуцтвием только в процессах от неё нужно только видео
 

Yuri

AutoIT Гуру
Сообщения
737
Репутация
282
Дайте ссылку где скачать именно эту версию программы.
Надо же будет с этой программой работать, а без нее врядли
напишешь скрипт.
 

Yuri

AutoIT Гуру
Сообщения
737
Репутация
282
Вот получилось нечто такое сваять. Пробуй.
Код:
$Progr = "C:\Program Files\hc2ru\HyCam2.exe" ;путь к программе
Run($Progr, "", @SW_HIDE) ;запуск программы HyCam2.exe в скрытом  окне
$Proc = "notepad.exe" ;имя процесса при появлении которого начнется запись
WinWait("HyperCam") ;ожидаем окно программы HyCam2.exe
WinMove("HyperCam", "", @DesktopHeight + 100, @DesktopWidth + 100) ;и выносим его за пределы экрана

WaitProc();вызываем функцию WaitProc

While 1 ;цикл
   Sleep(100) ;задержка в 100 миллисекунд, чтобы не грузить процессор  
   If Not ProcessExists($Proc) Then ;проверяем если процесс notepad.exe НЕ существут, тогда
	  Send("{F2}") ;жмем F2
	  WinWaitActive("HyperCam") ;ждем активыции окна HyCam2.exe
	  WinSetState ( "HyperCam", "", @SW_HIDE) ;и скрываем его
	  WaitProc() ;и вызываем функцию WaitProc
   EndIf   
WEnd

Func WaitProc() ;функция WaitProc
   ProcessWait($Proc) ;ждем пока не появится процесс notepad.exe (Блокнот)
   Send("{F2}") ;как только процесс появился жмем на F2 и выходим из функции в цикл 
EndFunc
 
Автор
goldoba

goldoba

Новичок
Сообщения
19
Репутация
0
работает буду тестировать
появляется окно hypercam на долю секунд на панели задач это неизбежно?
 

Yuri

AutoIT Гуру
Сообщения
737
Репутация
282
появляется окно hypercam на долю секунд на панели задач это неизбежно?
Да, есть такая неприятность, поэтому я и вынес окно за пределы экрана, а то бы и само окно мелькало. Дело в том что, хоть мы и запускаем программу в скрытом (@SW_HIDE) режиме, но после второго нажатия F2 она опять показывает свое окно. Может что-то придумаю как исправить, может кто-то другой более опытный подскажет как исправить.
 
Автор
goldoba

goldoba

Новичок
Сообщения
19
Репутация
0
велосипед уже придуман и работает на все 100% нужно просто довести до автоматизма
 

Yuri

AutoIT Гуру
Сообщения
737
Репутация
282
goldoba
Я заглянул в справку по HyperCam :laugh:
И увидел там раздел "Управление HyperCam из командной строки"
И на основе этого создал командную строку
Код:
"C:\Program Files\hc2ru\HyCam2.exe" -hidden -recx -i+ -a test.avi
Запускаем так
Пуск - Выполнить - вставляем эту строку и жмем Ок.
Началась запись. Теперь жмем F2. Запись окончена.
А главное - ни одного окна.
Теперь на основе этого скрипт будет гораздо проще и надежней.
Если это актуально еще.
 
Автор
goldoba

goldoba

Новичок
Сообщения
19
Репутация
0
ух ты спасибо за открытие :laugh: не думал что такое есть
вот не много конкретики мне нужно что бы включаю комп и hipercam уже работала скрытно висела в процессах запустил браузер запись пошла закрыл остановилось
это актуально
ps сделал ярлык с такими папраметрами -hidden -recx -i+ -a запускается работает видео создает окон нет радует
вариант переделать если так
создать ярлык с параметрами -hidden -recx -i+ -a(при запуске начинает сразу запись тоесть F2 жать не нужно)
появился процесс opera.exe запускается ярлык с параметрами
закрылась опера нажать F2 и hipercam заверщается полностью процесс
можно так?
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
goldoba
за кем следить собрался?
 
Автор
goldoba

goldoba

Новичок
Сообщения
19
Репутация
0
за ребёнком что б не врал
в общем ситуация такова создал ярлы с параметрами
Код:
E:\soft\hc2ru\HyCam2.exe -hidden -i+ -s-
работает великолепно висит только в процессах
нужно скрипт такого действия
запуск hypercam с ярлыка, срабатывало F2 если появился процесс firefox.exe если процесс firefox.exe закрылся опять нажать F2 и желательно что бы была проверка запущен ли процесс hypercam а то мало ли закроют реально ли такое с autoit?
очень прошу вас помочь
думаю многим будет полезно такое наблюдение за кампом я например много узнал например чем постоянно забивается HDD ;D
а вообще суть затеи была в том что мама моя ушла на пенсию и срочно ей понадобилось обучится ПК весь акцент на браузер и постоянные звонки как то? как сё? мне не сложно объяснить но на протяжении полугода... одно и то же... думаю меня понимаю) вот и пришла идея описанная выше так проще мне кажется выручайте )
 

Yuri

AutoIT Гуру
Сообщения
737
Репутация
282
goldoba
Так подходит?
Код:
;#NoTrayIcon ;не показывать иконку скрипта в трее
$Proc = "notepad.exe" ;имя процесса, при наличии которого идет запись
$ProcHyCam = "HyCam2.exe" ;имя процесса программы записи
$Progr = '"C:\Program Files\hc2ru\HyCam2.exe"' ;путь к программе (двойные и одинарные кавычки! так надо ...)
$Param = " -hidden -i+ -s-" ;ключи запуска программы

While ProcessExists($ProcHyCam) ;закрыть все процессы HyCam2.exe если есть
   Sleep(100)
   ProcessClose ($ProcHyCam)
WEnd

StartCam() ;запуск HyCam2.exe
WaitProc() ;ожидать процесс notepad.exe
AdlibRegister ( "ExProcCam", 1000) ;раз в 1 секунду проверка наличия процесса HyCam2.exe

While 1
   Sleep(100)
   If Not ProcessExists($Proc) Then 
	  Send("{F2}")	  
	  WaitProc()
   EndIf   
WEnd

Func StartCam()
   Run(@ComSpec & " /c " & $Progr & $Param, "", @SW_HIDE)
EndFunc

Func WaitProc()
   ProcessWait($Proc)
   Send("{F2}")
EndFunc

Func ExProcCam()
   If Not ProcessExists($ProcHyCam) Then
	  StartCam()
   EndIf   
EndFunc
 
Автор
goldoba

goldoba

Новичок
Сообщения
19
Репутация
0
:laugh: скомпилировал, запустил работает пока безупречно час - 2 потестирую отпишусь но учень порадовало быстрота ответа спасибо большое я думал к конце месяца что то придумается а тут на тебе за пару дней спасибо
уважаемый Yuriy спасибо большое вы гений все работает без нареканий спасибо просто приогромное :smile:
 
Верх