Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 | 3 |

 

  Вопрос: Внедрение в другую программу Добавлено: 25.06.07 22:34  

Автор вопроса:  «0опай» | ICQ: Два, потом нуль, дальше-девять-шесть-девять-семь. 

Ответить

  Ответы Всего ответов: 31  

Номер ответа: 16
Автор ответа:
 «0опай»



ICQ: Два, потом нуль, дальше-девять-шесть-девять-семь. 

Вопросов: 4
Ответов: 20
 Профиль | | #16 Добавлено: 26.06.07 13:16
У меня возникает ошибка "Compile error: Invalid use of AddressOf operator" в строке:
Call SetWindowLong(mybut1, GWL_WNDPROC, AddressOf win_proc)


Выделяя параметр: "AddressOf win_proc". В чём причина?

Ответить

Номер ответа: 17
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #17
Добавлено: 26.06.07 15:24
Мышка вываливается из моих слабеющих пальцев, организм из последних сил борется со сном, а засыпающий мозг удивленно интересуется, как может работать оконная процедура в приведенном коде, если процедура по адресу, устанавливаемому SetWindowLong должна находится в адресном пространстве calc.exe?

Ответить

Номер ответа: 18
Автор ответа:
 Fever



Вопросов: 60
Ответов: 808
 Профиль | | #18 Добавлено: 26.06.07 16:32
2EUGY Ржунимагупадссталом Йорику превед =)

Ответить

Номер ответа: 19
Автор ответа:
 Fever



Вопросов: 60
Ответов: 808
 Профиль | | #19 Добавлено: 26.06.07 16:36
2Sharp: не знаю, я так делал и все работало
2EUGY: отдельный респект за то что все это счастье работает даже когда прога отрубаецца =) видимо умная винда не отпускает оконную процедуру ни под каким предлогом пока приложение не закроется

Ответить

Номер ответа: 20
Автор ответа:
 Fever



Вопросов: 60
Ответов: 808
 Профиль | | #20 Добавлено: 26.06.07 16:38
Имхо необходимо еще

Call Shell("calc.exe", vbNormalFocus)
Sleep 300 'по вкусу
yorik = FindWindow(vbNullString, "Êàëüêóëÿòîð";)


а то на медленных компах не будет работать и Йорик будет вечно убегать

Ответить

Номер ответа: 21
Автор ответа:
 EUGY



Вопросов: 0
Ответов: 454
 Профиль | | #21 Добавлено: 26.06.07 21:35
to Sharp: нет никакого адресного пространства calc.
 mybut1 = CreateWindowEx(...
          ,App.hInstance/B] ...)
Cпи спокойно.

to tester
Public Function win_proc

должна находиться в модуле (не в форме).

P.S.
Бедный Йорик.

Ответить

Номер ответа: 22
Автор ответа:
 Ra$cal



ICQ: 8068014 

Вопросов: 18
Ответов: 817
 Web-сайт: www.rascalspb.narod.ru
 Профиль | | #22
Добавлено: 27.06.07 00:37
бейсик жжот =)

Ответить

Номер ответа: 23
Автор ответа:
 Ra$cal



ICQ: 8068014 

Вопросов: 18
Ответов: 817
 Web-сайт: www.rascalspb.narod.ru
 Профиль | | #23
Добавлено: 27.06.07 00:57
но ваще лучше юзоть длл и не парить мозгис дополнительным процессом. Например с меню такой фокус не пройдёт. Поэтому, имхо, лучше напесать нормальную dll и не парицо.

Ответить

Номер ответа: 24
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #24
Добавлено: 27.06.07 00:59
EUGY, извиняй, редко последнее время захожу ;)
сэмпл работает. Но! никакого внедрения кода, увы и ах, нет. Попросту тупое создание кнопки на чужом окне с обработкой его на своем. И кнопка не принадлежит калькулятору, она принадлежит процессу ее создавшему. После закрытия ехе кнопка благополучно убивается вместе с процессом.

Короче говоря, это не внедрение, это заблуждение :)

Ответить

Номер ответа: 25
Автор ответа:
 EUGY



Вопросов: 0
Ответов: 454
 Профиль | | #25 Добавлено: 27.06.07 01:13
 Sne, да ни боже мой, и не пытался я кому-то замылить глаза. Просто накорябал пример адекватный вопросу. Я мог бы отписаться, как Sharp, мол сделай dll, а в ней перехват.
 Называйся этот сайт не VBNET, а скажем-RentaCoder, я бы не стал так хулиганить.

Ответить

Номер ответа: 26
Автор ответа:
 Fever



Вопросов: 60
Ответов: 808
 Профиль | | #26 Добавлено: 27.06.07 01:26
2sne ты проверял? у меня кнопка остается даже после закрытия процесса...

Ответить

Номер ответа: 27
Автор ответа:
 Fever



Вопросов: 60
Ответов: 808
 Профиль | | #27 Добавлено: 27.06.07 01:27
звиняюсь, я из-под IDE запускал. как-то не подумал, что прога запускается внутри другого процесса

Ответить

Номер ответа: 28
Автор ответа:
 EUGY



Вопросов: 0
Ответов: 454
 Профиль | | #28 Добавлено: 27.06.07 01:29
Fever процесс висит, глянь а диспетчере задач.

Ответить

Номер ответа: 29
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #29
Добавлено: 27.06.07 02:41
EUGY, возможно ты и прав :)

Ответить

Номер ответа: 30
Автор ответа:
 EUGY



Вопросов: 0
Ответов: 454
 Профиль | | #30 Добавлено: 27.06.07 02:52
Спасибо, что ты меня понял.

Ответить

Страница: 1 | 2 | 3 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам