среда, 14 марта 2012 г.

Удаленный контроль затвора фотоаппаратов Canon EOS


Данная библиотека (далее DLL), для работы с фотоаппаратами серий Canon EOS через протокол PTP средствами EDSDK в ОС NT/2000/2003/XP/7/8, предназначена для осуществления удаленного щелчка затвором по интерфейсу USB.


Cистемные требования и зависимости:
  1. Win32/64 (NT/2003/XP/7/8/10).
  2. Наличие фотоаппарата серий Canon EOS.
DLL предоставляет универсальный доступ для других приложений вне зависимости от языка в среде Win32/64. Для использования DLL в своих проектах соблюдайте соглашение об stdcall-вызовах. Тип соглашения о вызове объявляется после прототипа функции, будь то объявление функционального типа или же объявление функции.

Таблица расшифровок параметров экспортируемой функции 'KEY()' библиотеки 'ra_shutter_eos.DLL': 
Параметр    Функционал                    Тип переменной
=========================================
PID        идентификатор камеры         DWord
PAR       номер камеры                     DWord
result      тип-модель камеры              PAnsiChar
Пример использования через DynWrapX из VBS:
' регистрируем COM объект DynamicWrapperX в тихом режиме
Dim WshShell
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run ("regsvr32.exe dynwrapx.dll /s"),3, true
' создаем объект DynamicWrapperX
Set Wrap = CreateObject("DynamicWrapperX.2")

Wrap.Register "ra_shutter_eos.dll", "key", "i=ll", "f=s", "r=l"
res = Wrap.key(0, 0)
Пример динамического подключения (Delphi 6/7/2006/2009/2010/TDL/XE5-7):
var
     key:function(pid,                          // идентификатор камеры
                  par:                               // номер камеры
                  dword): pansichar; stdcall; // тип-модель камеры                       
     LibHandle: THandle;

function LinkProc(ProcName: string):Pointer;
begin
  result:= GetProcAddress(LibHandle, PChar(ProcName))
end;

{ инициализация }
begin
 LibHandle:= LoadLibrary('ra_shutter_eos.dll');
  if LibHandle<>0 then key:= LinkProc('key')
end;

{ пример вызова }
begin
 if LibHandle<>0 then result:= key(0, 0);

ПОРЯДОК ИСПОЛЬЗОВАНИЯ и ОГРАНИЧЕНИЯ
  1. Обеспечивает щелчок затвором камер Canon EOS
  2. В данной версии работа с одной камерой, поэтому параметры вызова 'pid', 'par' будут игнорироваться (default = 0)
  3. Для вызова библиотеки 'ra_shutter_eos.dll' без программирования по горячей клавише(ш) средствами COM-сервера 'dynwrap.dll' выполните шаги 1...5 на прилагаемых скринах




 

Комментариев нет:

Отправить комментарий

В комментариях уважайте собеседника, внимательно читайте посты и не додумывайте. Просьбы и предложения из разряда: «можно ваш Skype/Viber/телефон», «напишите мне в vk/FB», а также другие им подобные — игнорируются. Выход новых версий ПО, внешняя ссылка, переставшая работать с течением времени и т.п. не является основанием для претензий. Желающие спокойно подискутировать и высказаться — Welcome. Желающие спонсировать блог — Donate. Нарушение этих простых правил ведет к бану и удалению комментариев без предупреждения.