· Начало · Статистика · WASM.RU · Noir.Ru ·

 WASM Phorum (Оффлайн - 24.11.2003) —› WASM.WIN32 —› Вопрос о Dos и Windows

Посл.отвђт Сообщенiе


Дата: Янв 12, 2003 01:12:23

Каким образом можно сгенерироватьт виндовое сообщение в доспрограмме.

Т.е. дос программа должна сказать что-то типа SendMessage win32 программе


Дата: Янв 12, 2003 01:13:40 · Поправил: Wall

Забыл указать, желательно с использованием стандартных виндовых средств (winoldap)
А если еще точнее, тоо на примеере покажите как с помощью сервиса VxD Shell (id = 0017) использовать функцию _ShellPostMessage.
И если можно объясните как вообще ими пользоваться.
В туториалах пишут
int 20h
dw VxDId
dw SevriceFunction

но в моих кривых руках это не работает


Дата: Янв 13, 2003 17:28:44

Отвечает Бертыш Андрей - то что вы приводите "то что пишут в туториалах"
описывает как из Windows Кода происходит вызов VXD, а из ДОСА надо бы через AX=1684 INT 2Fh получать точку входа в VxD драйвер и через неё колбасить. Успехов.


Дата: Янв 14, 2003 01:52:02

Андрей, не могли бы в привести пример кода? А то уже перерыл все что доступно, но ничего не получается. В RBIL все описывается как раз исходя из того что юзаем int 20h (по крайней мемре я так понял).

С уважением Валентин.


Дата: Янв 14, 2003 09:34:01

Инфу по функциям int 2F, относящимся к вызовам VxD, можно посмотреть в RalfBroun. Алгоритм примерно такой: получить дальний адрес процедуры-переходника конкретной VxD - вызывать far call ее с конкретными функциями.
Следует отметить, что многие функции VxD'шек, доступные другим VxD совершенно свободно, нифига не вызываются таким образом (из Дос'а). Об этом так и написано (или сам call вернет что-то там типа "not supported").
Есть еще такой выход: писать свой vxd, который может уже совершенно спокойно звать функции любых других vxd, но сделать так, чтобы он имел выход наружу (в дос) в виде своей функции(функций) - и звать из доса через него. На сайте в примерах айселона есть об этом.


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.073