Цитата:
Сообщение от jabbacat
Про горячую кнопку - очень надо, чтоб такой функционал был в самой программе. Не все пользователи - программисты, чтоб самому код писать.
|
Проверить не могу, но должно работь:
Autohotkey код.
При нажатии кнопки s записывает видео из темпа.
Код:
#Singleinstance force
s::Send_WM_COPYDATA("SAVE","CamGrabber")
return
Send_WM_COPYDATA( ParameterToSent, TargetTC ) ; функция высылки пользовательской команды em_xyz
{
; В качестве параметров функция принимает имя команды em_xyz и целевое окно ТС
VarSetCapacity( CopyDataStruct, 12 ) ; устанавливаем размер высылаемой структуры данных
; InsertInteger( Asc( "E" ) + 256 * Asc( "M" ), CopyDataStruct ) ; вставляем в структуру то, что требует для исполнения команд
InsertInteger( 1, CopyDataStruct ) ; вставляем в структуру то, что требует ТС для исполнения команд
InsertInteger( StrLen( ParameterToSent ), CopyDataStruct, 4 ) ; добавляем собственно команду (+ символ конца строки)
InsertInteger( &ParameterToSent, CopyDataStruct, 8 ) ; добавляем указатель на собственно команду
SendMessage, 0x4A,, &CopyDataStruct,, %TargetTC% ; шлём команду, обязательно Send, а не Post (0x4A = WM_COPYDATA)
Return, ErrorLevel ; выходим из функции и возвращаем ответ SendMessage'а
}
;-----------------------------------------------------------------------------
InsertInteger( pInteger, ByRef pDest, pOffset = 0, pSize = 4 ) ; функция заполнения структуры данными
{
Loop, 4 ; копируем каждый байт целого числа в структуру как сырые двоичные данные
{
DllCall("RtlFillMemory" ; заполняем структуру нашими данными
, "UInt" , &pDest + pOffset + A_Index-1 ; указатель на адрес, с которого начинается заполнение
, "UInt" , 1 ; размер заполняемой структуры в байтах
, "UChar", pInteger >> 8*( A_Index-1 ) & 0xFF) ; содержимое заполняемого байта
}
}
Качаешь autohotkey, в текстовом редакторе создаешь файл (лучше с расширением ahk) и кидаешь туда все вышенаписанное. Записываешь. Даблкликаешь, убеждаешься, что все работает, дальше прилагающейся утилитой компилишь этот файл в exe. Запускаешь exe, удивляешься, что Autohotkey не жрет процессор и занимает мало памяти. Ставишь получившийся файл в автозагрузку...
Я так понимаю, что Autohotkey и так работает на очень большом количестве авто-компов, является просто мега-настраиваемой программой. У многих именно эта прога позволяет управлять компом с подрулевого джойстика.