Тут нарыл одну ссылку отличную
http://www.borncity.com/web/WSHBazaar1/WSHDynaCall.htm
тут говориться о COM объекте, который способен вызывать DLL-ки... а PHP способен работать с COM
чтоб это заработало, но сначала скачать этот архив DynaWrap..zip
внутри находиться файл DynaWrap.dll. Распакуем его куда нить
После того как распаковали нажимаем Ctrl+W и вводим вот что
вместо <path> надо вписать путь до папки, куда распаковалиКод:RegSvr32.exe "<path>DynaWrap.dll"
например я распаковал в "C:/Windows/System32/"
значит команда будет вот такая
Com Объект DynamicWrapper имеет одну для нас важную функцию, этоКод:RegSvr32.exe "C:/Windows/System32/DynaWrap.dll"
PHP код:$com_object->Register('name.dll','NameFunc','i=<тут перечисляем типы каждого параметра>','f=<тут способ вызова>','r=<тут тип возвращаемого значения>');
'f=<тут способ вызова>'
тут два вариант, это
'f=s' - stdcall
'f=c' - cdecl'i=<тут перечисляем типы каждого параметра>' и 'r=<тут тип возвращаемого значения>'
типы:
a - IDispatch
c - char
d - double
f - float
k - IUnknown
h - long (HANDLE)
l - long (integer)
s - string
t - short
u - integer
w - wide string
Пример вызова функции MessageBoxA:
PHP код:$com = new COM("DynamicWrapper");
$com->Register("user32.DLL", "MessageBoxA", "i=hssl", "f=s", "r=l");
$com->MessageBoxA(0,'Текст','Заголовок',0);


Так что будьте вежливы, а то можете получить бан
Ответить с цитированием

