+ Ответить в теме
Показано с 1 по 31 из 31
  1. #1
    Аватар для haker haker В каждой бочке затычка haker В каждой бочке затычка haker В каждой бочке затычка haker В каждой бочке затычка haker В каждой бочке затычка haker В каждой бочке затычка haker В каждой бочке затычка haker В каждой бочке затычка haker В каждой бочке затычка haker В каждой бочке затычка haker В каждой бочке затычка Радуга!
    Сообщений
    1,875
    Поблагодарили 343 раз(а) в 253 сообщениях

    возможность вызова внешник dll

    Тут нарыл одну ссылку отличную
    http://www.borncity.com/web/WSHBazaar1/WSHDynaCall.htm
    тут говориться о COM объекте, который способен вызывать DLL-ки... а PHP способен работать с COM
    чтоб это заработало, но сначала скачать этот архив Вложение 481
    внутри находиться файл DynaWrap.dll. Распакуем его куда нить
    После того как распаковали нажимаем Ctrl+W и вводим вот что
    Код:
    RegSvr32.exe "<path>DynaWrap.dll"
    вместо <path> надо вписать путь до папки, куда распаковали
    например я распаковал в "C:/Windows/System32/"
    значит ко***** будет вот такая
    Код:
    RegSvr32.exe "C:/Windows/System32/DynaWrap.dll"
    Com Объект DynamicWrapper имеет одну для нас важную функцию, это
    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); 
    АдМиНы и МоДеРы среди нас!!;) Так что будьте вежливы, а то можете получить бан :p
    http://system-x-files.ru/ - мой блог
    Заказ работ для DevelStudio.

  2. #2
    Аватар для santoni7 santoni7 На пути к лучшему Пользователь
    Сообщений
    150
    Поблагодарили 13 раз(а) в 12 сообщениях
    спс. а как создать сами длл?
    I don't know who my grandfather was; I am much more concerned to know what his grandson will be. Abraham Lincoln

  3. #3
    Аватар для bwc bwc Не известно кто Путешественник
    Сообщений
    332
    Поблагодарили 30 раз(а) в 22 сообщениях
    Цитата Сообщение от santoni7 Посмотреть сообщение
    спс. а как создать сами длл?
    Для этого по любому потребуется другая среда разработки, DevelSt для этого пока не подходит.

  4. #4
    Аватар для bwc bwc Не известно кто Путешественник
    Сообщений
    332
    Поблагодарили 30 раз(а) в 22 сообщениях
    http://php.net/manual/de/ref.w32api.php
    Вот еще материал на эту тему...

  5. #5
    Аватар для haker haker В каждой бочке затычка haker В каждой бочке затычка haker В каждой бочке затычка haker В каждой бочке затычка haker В каждой бочке затычка haker В каждой бочке затычка haker В каждой бочке затычка haker В каждой бочке затычка haker В каждой бочке затычка haker В каждой бочке затычка haker В каждой бочке затычка Радуга!
    Сообщений
    1,875
    Поблагодарили 343 раз(а) в 253 сообщениях
    Цитата Сообщение от bwc Посмотреть сообщение
    http://php.net/manual/de/ref.w32api.php
    Вот еще материал на эту тему...
    это немного не то... то что я скинул, самый норм вариант... тут бы ещё сделать оболочку, чтоб легче работать и чтоб автоматически регистрировалась во время запуска и все будет пучком
    Последний раз редактировалось haker; 15.03.2011 в 05:09.
    АдМиНы и МоДеРы среди нас!!;) Так что будьте вежливы, а то можете получить бан :p
    http://system-x-files.ru/ - мой блог
    Заказ работ для DevelStudio.

  6. #6
    Аватар для bwc bwc Не известно кто Путешественник
    Сообщений
    332
    Поблагодарили 30 раз(а) в 22 сообщениях
    Я писал компонент для работы с dll через сом, потом забил на это, после того как Ты меня на 3 дня забанил...

  7. #7
    Аватар для haker haker В каждой бочке затычка haker В каждой бочке затычка haker В каждой бочке затычка haker В каждой бочке затычка haker В каждой бочке затычка haker В каждой бочке затычка haker В каждой бочке затычка haker В каждой бочке затычка haker В каждой бочке затычка haker В каждой бочке затычка haker В каждой бочке затычка Радуга!
    Сообщений
    1,875
    Поблагодарили 343 раз(а) в 253 сообщениях
    Цитата Сообщение от bwc Посмотреть сообщение
    Я писал компонент для работы с dll через сом, потом забил на это, после того как Ты меня на 3 дня забанил...
    гыыы а в чем проблема то была? ты ведь сказал что можно было только 1 параметр передать, а тут дофига
    АдМиНы и МоДеРы среди нас!!;) Так что будьте вежливы, а то можете получить бан :p
    http://system-x-files.ru/ - мой блог
    Заказ работ для DevelStudio.

  8. #8
    Аватар для bwc bwc Не известно кто Путешественник
    Сообщений
    332
    Поблагодарили 30 раз(а) в 22 сообщениях
    нет там никаких проблем, один параметр тоько потому что не все с dll общаются на ты...
    так было решено что одного или двух параметра хватит, а может и вообще без параметров как и говорил в той теме

  9. #9
    Аватар для haker haker В каждой бочке затычка haker В каждой бочке затычка haker В каждой бочке затычка haker В каждой бочке затычка haker В каждой бочке затычка haker В каждой бочке затычка haker В каждой бочке затычка haker В каждой бочке затычка haker В каждой бочке затычка haker В каждой бочке затычка haker В каждой бочке затычка Радуга!
    Сообщений
    1,875
    Поблагодарили 343 раз(а) в 253 сообщениях
    Цитата Сообщение от bwc Посмотреть сообщение
    нет там никаких проблем, один параметр тоько потому что не все с dll общаются на ты...
    так было решено что одного или двух параметра хватит, а может и вообще без параметров как и говорил в той теме
    ну тогда жду твоего дополнения... после я его дополню и сделаю чтоб среда его нормально кушала и автоматически подключала и пусть все же будет любое кол-во параметров
    АдМиНы и МоДеРы среди нас!!;) Так что будьте вежливы, а то можете получить бан :p
    http://system-x-files.ru/ - мой блог
    Заказ работ для DevelStudio.

  10. #10
    Аватар для bwc bwc Не известно кто Путешественник
    Сообщений
    332
    Поблагодарили 30 раз(а) в 22 сообщениях
    Цитата Сообщение от haker Посмотреть сообщение
    гыыы а в чем проблема то была? ты ведь сказал что можно было только 1 параметр передать, а тут дофига
    Может нам с Тобой выложить сюда побольше примеров работы с dll, хотя, Ладно, на этой неделе будет время, что-нибудь напишу.

  11. #11
    Аватар для Nis* Nis* На пути к лучшему Пользователь
    Сообщений
    141
    Поблагодарили 2 раз(а) в 2 сообщениях
    в чем проблема. вот скрин

  12. #12
    Аватар для vGhost vGhost В каждой бочке затычка vGhost В каждой бочке затычка vGhost В каждой бочке затычка vGhost В каждой бочке затычка vGhost В каждой бочке затычка vGhost В каждой бочке затычка vGhost В каждой бочке затычка vGhost В каждой бочке затычка vGhost В каждой бочке затычка vGhost В каждой бочке затычка vGhost В каждой бочке затычка Почетный гражданин
    Сообщений
    4,035
    Поблагодарили 1,212 раз(а) в 865 сообщениях
    На скрине не видно не шиша. Можно в нормальном размере?
    - У тебя бывают приступы лени?
    - У меня бывают приступы активности, лень у меня постоянно.

  13. #13
    Аватар для Nis* Nis* На пути к лучшему Пользователь
    Сообщений
    141
    Поблагодарили 2 раз(а) в 2 сообщениях
    вот другой скрин

  14. #14
    Аватар для vGhost vGhost В каждой бочке затычка vGhost В каждой бочке затычка vGhost В каждой бочке затычка vGhost В каждой бочке затычка vGhost В каждой бочке затычка vGhost В каждой бочке затычка vGhost В каждой бочке затычка vGhost В каждой бочке затычка vGhost В каждой бочке затычка vGhost В каждой бочке затычка vGhost В каждой бочке затычка Почетный гражданин
    Сообщений
    4,035
    Поблагодарили 1,212 раз(а) в 865 сообщениях
    а код где?
    - У тебя бывают приступы лени?
    - У меня бывают приступы активности, лень у меня постоянно.

  15. #15
    Аватар для Nis* Nis* На пути к лучшему Пользователь
    Сообщений
    141
    Поблагодарили 2 раз(а) в 2 сообщениях
    PHP код:
    RegSvr32.exe "C:/Windows/System32/DynaWrap.dll";
    $com = new COM("DynamicWrapper");
    $com->Register("user32.DLL""MessageBoxA""i=hssl""f=s""r=l");
    $com->MessageBoxA(0,'Текст','Заголовок',0); 
    я пробовал так и еще так
    PHP код:
    shel_exec(RegSvr32.exe "C:/Windows/System32/DynaWrap.dll");
    $com = new COM("DynamicWrapper");
    $com->Register("user32.DLL""MessageBoxA""i=hssl""f=s""r=l");
    $com->MessageBoxA(0,'Текст','Заголовок',0); 

  16. #16
    Аватар для vGhost vGhost В каждой бочке затычка vGhost В каждой бочке затычка vGhost В каждой бочке затычка vGhost В каждой бочке затычка vGhost В каждой бочке затычка vGhost В каждой бочке затычка vGhost В каждой бочке затычка vGhost В каждой бочке затычка vGhost В каждой бочке затычка vGhost В каждой бочке затычка vGhost В каждой бочке затычка Почетный гражданин
    Сообщений
    4,035
    Поблагодарили 1,212 раз(а) в 865 сообщениях
    А с чего вы взяли что у вас есть вот этот "C:/Windows/System32/DynaWrap.dll" файл?
    Вы его скачали перед этим и положили туда перед тем как регистрировать?
    - У тебя бывают приступы лени?
    - У меня бывают приступы активности, лень у меня постоянно.

  17. #17
    Аватар для Nis* Nis* На пути к лучшему Пользователь
    Сообщений
    141
    Поблагодарили 2 раз(а) в 2 сообщениях
    да. я даже специально закинул в system32

  18. #18
    Аватар для vGhost vGhost В каждой бочке затычка vGhost В каждой бочке затычка vGhost В каждой бочке затычка vGhost В каждой бочке затычка vGhost В каждой бочке затычка vGhost В каждой бочке затычка vGhost В каждой бочке затычка vGhost В каждой бочке затычка vGhost В каждой бочке затычка vGhost В каждой бочке затычка vGhost В каждой бочке затычка Почетный гражданин
    Сообщений
    4,035
    Поблагодарили 1,212 раз(а) в 865 сообщениях
    с именем не напутали? Файл то называется dynwrap.dll а не dynawrap.dll
    - У тебя бывают приступы лени?
    - У меня бывают приступы активности, лень у меня постоянно.

  19. #19
    Аватар для Nis* Nis* На пути к лучшему Пользователь
    Сообщений
    141
    Поблагодарили 2 раз(а) в 2 сообщениях
    у меня он называется dynawrap.dll

  20. #20
    Аватар для vGhost vGhost В каждой бочке затычка vGhost В каждой бочке затычка vGhost В каждой бочке затычка vGhost В каждой бочке затычка vGhost В каждой бочке затычка vGhost В каждой бочке затычка vGhost В каждой бочке затычка vGhost В каждой бочке затычка vGhost В каждой бочке затычка vGhost В каждой бочке затычка vGhost В каждой бочке затычка Почетный гражданин
    Сообщений
    4,035
    Поблагодарили 1,212 раз(а) в 865 сообщениях
    А с чего он вдруг стал так называться? В архиве по ссылке лежит файл dynwrap.dll
    ?? ещё, на кой фиг вы его каждый раз регистрируете?
    Вот эту команду
    regsvr32 dynwrap.dll /c
    надо было выполнить ручками в командной строке 1 раз в жизни самому в той самой папочке где лежит длл.
    так что выпримляйте руки и не занимайтесь ерундой, скачайте файл по ссылке в первом сообщении темы (архив тот что для winNT а не для Win95) распакуйте архив куда нибудь типа c:\windows\dinwrap зайдите в папку и запустите в ней make.bat (он сам всё сделает

    а потом в крограмме код:

    PHP код:
    $com = new COM("DynamicWrapper"); 
    $com->Register("user32.DLL""MessageBoxA""i=hssl""f=s""r=l"); 
    $com->MessageBoxA(0,'Текст','Заголовок',0); 
    Отлично работает.
    - У тебя бывают приступы лени?
    - У меня бывают приступы активности, лень у меня постоянно.

  21. Пользователь сказал cпасибо:

    Nis* (24.09.2011)

  22. #21
    Аватар для Nis* Nis* На пути к лучшему Пользователь
    Сообщений
    141
    Поблагодарили 2 раз(а) в 2 сообщениях
    Спасибо большое . че то на этой недели туплю.

  23. #22
    Аватар для vacant phobia vacant phobia На пути к лучшему Пользователь
    Сообщений
    154
    Поблагодарили 22 раз(а) в 9 сообщениях
    Вложение 1113

    А ежели такое пишут?

    Психолог - это не профессия, это диагноз.

  24. #23
    Аватар для vGhost vGhost В каждой бочке затычка vGhost В каждой бочке затычка vGhost В каждой бочке затычка vGhost В каждой бочке затычка vGhost В каждой бочке затычка vGhost В каждой бочке затычка vGhost В каждой бочке затычка vGhost В каждой бочке затычка vGhost В каждой бочке затычка vGhost В каждой бочке затычка vGhost В каждой бочке затычка Почетный гражданин
    Сообщений
    4,035
    Поблагодарили 1,212 раз(а) в 865 сообщениях
    Цитата Сообщение от vacant phobia Посмотреть сообщение
    Вложение 1113

    А ежели такое пишут?
    2 варианта, либо вы не тот враппер скачли, их два, один из которых для Windows 95, либо попробуйте комп перезагрузить.

    Ещё можно попробовать другой враппер использовать, более современный, 2008 года который, а не 1994го.
    - У тебя бывают приступы лени?
    - У меня бывают приступы активности, лень у меня постоянно.

  25. #24
    Аватар для vacant phobia vacant phobia На пути к лучшему Пользователь
    Сообщений
    154
    Поблагодарили 22 раз(а) в 9 сообщениях
    Там проблема с Windows 7 - ругается что у меня якобы нет прав администратора, хотя они на самом деле у меня.

    Психолог - это не профессия, это диагноз.

  26. #25
    Аватар для vGhost vGhost В каждой бочке затычка vGhost В каждой бочке затычка vGhost В каждой бочке затычка vGhost В каждой бочке затычка vGhost В каждой бочке затычка vGhost В каждой бочке затычка vGhost В каждой бочке затычка vGhost В каждой бочке затычка vGhost В каждой бочке затычка vGhost В каждой бочке затычка vGhost В каждой бочке затычка Почетный гражданин
    Сообщений
    4,035
    Поблагодарили 1,212 раз(а) в 865 сообщениях
    Цитата Сообщение от vacant phobia Посмотреть сообщение
    Там проблема с Windows 7 - ругается что у меня якобы нет прав администратора, хотя они на самом деле у меня.
    Аа это значит вам UAC отключить надо для выполнения процесса регистрации этой длл http://fastvista.ru/content/view/17/
    Потом обратно включить не забудьте.

    ??ли можете попробовать запустить cmd с правами админа, т.е делается так:
    1) создаёте новый ярлык на рабочем столе, в расположении объекста пишите cmd
    2) правой кнопкой по нему, запустить от имени администратора
    3) через команду d: или c: можно сменить диск, через cd c:\windows перейти в нужную папку, и выполнить регистрацию длл.

    Если ваша программа сама умеет регистрировать длл, тогда запустите однажды просто вашу программу через правую кнопку и пункт запустить от имени администратора.
    - У тебя бывают приступы лени?
    - У меня бывают приступы активности, лень у меня постоянно.

  27. #26
    Аватар для vacant phobia vacant phobia На пути к лучшему Пользователь
    Сообщений
    154
    Поблагодарили 22 раз(а) в 9 сообщениях
    Нет, все равно... Не выходит. Обидно))))

    Психолог - это не профессия, это диагноз.

  28. #27
    Аватар для vGhost vGhost В каждой бочке затычка vGhost В каждой бочке затычка vGhost В каждой бочке затычка vGhost В каждой бочке затычка vGhost В каждой бочке затычка vGhost В каждой бочке затычка vGhost В каждой бочке затычка vGhost В каждой бочке затычка vGhost В каждой бочке затычка vGhost В каждой бочке затычка vGhost В каждой бочке затычка Почетный гражданин
    Сообщений
    4,035
    Поблагодарили 1,212 раз(а) в 865 сообщениях
    Попробуйте вот эту библиотеку, она новей.
    http://www.script-coding.com/dynwrapx.html
    и зарегистрировать её попробуйте с правами пользователя:
    Код:
    regsvr32.exe /u /i <путь-к-компоненту>\dynwrapx.dll
    Ток не забудьте, в программе она будет вызываться не COM('DynamicWrapper'); а COM('DynamicWrapperX');
    - У тебя бывают приступы лени?
    - У меня бывают приступы активности, лень у меня постоянно.

  29. #28
    Аватар для vacant phobia vacant phobia На пути к лучшему Пользователь
    Сообщений
    154
    Поблагодарили 22 раз(а) в 9 сообщениях
    дык ее и пробую

    Психолог - это не профессия, это диагноз.

  30. #29
    Аватар для vGhost vGhost В каждой бочке затычка vGhost В каждой бочке затычка vGhost В каждой бочке затычка vGhost В каждой бочке затычка vGhost В каждой бочке затычка vGhost В каждой бочке затычка vGhost В каждой бочке затычка vGhost В каждой бочке затычка vGhost В каждой бочке затычка vGhost В каждой бочке затычка vGhost В каждой бочке затычка Почетный гражданин
    Сообщений
    4,035
    Поблагодарили 1,212 раз(а) в 865 сообщениях
    Тогда попробуйте наоборот более старую либу, из шапки этой темы, кстати винда то какая, случаем не x86_64 XP? А то в инете пишут что такое происходит именно на ней.
    Ток не забудьте деинсталлировать старую либу перед установкой новой. Они хоть и разные имена имеют, но так "на всякий случай"..
    - У тебя бывают приступы лени?
    - У меня бывают приступы активности, лень у меня постоянно.

  31. #30
    Аватар для vacant phobia vacant phobia На пути к лучшему Пользователь
    Сообщений
    154
    Поблагодарили 22 раз(а) в 9 сообщениях
    windows 7 x86

    Психолог - это не профессия, это диагноз.

  32. #31
    Аватар для KusaBy KusaBy Очень опасный тип Новичок
    Сообщений
    18
    Поблагодарили 0 раз(а) в 0 сообщениях
    Цитата Сообщение от Nis* Посмотреть сообщение
    PHP код:
    RegSvr32.exe "C:/Windows/System32/DynaWrap.dll";
    $com = new COM("DynamicWrapper");
    $com->Register("user32.DLL""MessageBoxA""i=hssl""f=s""r=l");
    $com->MessageBoxA(0,'Текст','Заголовок',0); 
    я пробовал так и еще так
    PHP код:
    shel_exec(RegSvr32.exe "C:/Windows/System32/DynaWrap.dll");
    $com = new COM("DynamicWrapper");
    $com->Register("user32.DLL""MessageBoxA""i=hssl""f=s""r=l");
    $com->MessageBoxA(0,'Текст','Заголовок',0); 
    shel_exec('RegSvr32.exe "C:/Windows/System32/DynWrapX.dll"');
    $com = new COM("DynamicWrapperX");
    $com->Register("user32", "MessageBox", "i=hssl", "f=s", "r=l");
    $com->MessageBox(0,'Текст','Заголовок',0) ;

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения