Ускорение критического участка программы (асм)

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
CyberYen
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 112
Зарегистрирован: 10.03.2004 (Ср) 18:14

Ускорение критического участка программы (асм)

Сообщение CyberYen » 31.07.2005 (Вс) 8:28

Привет :)
Вообщем, критический участок своей проги пишу на асме... Жизнь заставляет :))
И тут такая вот проблема...
Нужно получить хендл user32.dll
В вб там все просто, на асме тож особого труда составить не должно было бы... но...
Есть GetModuleHandleA...
Хендл кернела возвращает без проблем, а вот хендл user32.dll увы...
eax после вызова по прежнему равен нулю...
Почему? И как получить хендл user32.dll на асме, если я вдруг что-то делаю не так...
Заранее спасибо :)
---------------------------------------------------------------------------------
зы: давно у вас тут не был... ) все изменения в лучшую сторону! :)

Юстас
Бывалый
Бывалый
 
Сообщения: 200
Зарегистрирован: 24.10.2003 (Пт) 5:05

Сообщение Юстас » 31.07.2005 (Вс) 13:46

Для чего нужен хэндл user32 ?

CyberYen
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 112
Зарегистрирован: 10.03.2004 (Ср) 18:14

Сообщение CyberYen » 01.08.2005 (Пн) 1:03

Все... уже разобрался...
Прежде, чем искать хендл, необходимо загрузить юзер32.длл
в адрессное пространство процесса через LoadLibraryA, которая в свою очередь и возвращает хендл...
А т.к. юзер32 уже загружен, то происходит простой возврат хендла, без каких либо загрузок :)


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Majestic-12 [Bot] и гости: 20

    TopList