Показать сообщение отдельно
Старый 12.11.2009, 01:57   #1095
SBorovkov
Старший Пользователь
 
Регистрация: 11.06.2008
Возраст: 46
Регион: 77, 97, 99, 177
Сообщений: 438
SBorovkov is on a distinguished road
По умолчанию

Benny, инструкции нет, как и 100% работающего варианта контроля за CG. Там есть ряд проблем: к примеру комп может долго уходить в ждущий или спящий режим. И во время этого ухода, скрипт может попробовать прибить CG, а затем запустить его. И тогда возникают большие проблемы...

Напиши скрипт на autohotkey, который будет прибивать CG после выхода из ждущего режима, а затем запускать его заново. У меня такого скрипта нет.

Вот как послать сообщение в CG из autohotkey:
Код:
Send_WM_COPYDATA("STOP","CamGrabber")


Send_WM_COPYDATA( ParameterToSent, TargetTC ) ; функция высылки пользовательской команды
{
    ; В качестве параметров функция принимает имя команды и целевое окно
    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) ; содержимое заполняемого байта
    }
}
__________________
Ford focus2, материнка ASUS AT3GC-I (atom 330), 1G памяти, HDD 200G, Lart радио, bluetooth, видеозапись. Монитор Lilliput 889GL. Оболочка RR+DigitalFX 3.0, подробности тут:http://forum.pccar.ru/showthread.php?t=5588
SBorovkov вне форума   Ответить с цитированием