Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как в асме вызвать SetWorkingDirectory при создании ярлыка (IShellLink)

46K
22 мая 2013 года
GerdtR
26 / / 20.03.2012
Задача вот в чём. Пишу на fasme. Создал ярлык. Всё супер, но в примере с которого слизал код нет установки рабочего каталога. А он очень нужен. И замарочка в том, что в примере функция вызывается так, например:

;[ebp-04h] -> SetPath(dword ptr [ebp+0Ch]) ;устанавливаем адрес объекта
push dword[ebp+0Ch]
mov eax,[ebp-04h]
push eax
mov eax,[eax]
call dword[eax+50h]

Используется некое неизвестно откуда берущееся смещение +50h. А мне теперь нужно подобное смещение для SetWorkingDirectory.. Или какой-то другой способ вызова этой функции.
46K
22 мая 2013 года
GerdtR
26 / / 20.03.2012
Всё, решил. Всё-таки сишные инклудники помогли.
А смещение для SetWorkingDirectory = 24h.
7
22 мая 2013 года
@pixo $oft
3.4K / / 20.09.2006
Может, это и есть смещение той функции? Соответственно, для SetWorkingDirectory будет другое смещение, и чтоб знать, откуда его брать, надо знать основы COM (и куда лезть, соответственно).
Вообще, это не очень хорошая идея — использовать COM на асме. Знаю лишь, что для DX8 были заголовочные файлы, в которых реализовали доступ к интерфейсам DX. Для IShellLink не знаю, есть ли такое.
10
22 мая 2013 года
Freeman
3.2K / / 06.03.2004
Вообще-то об этом написано в прилагаемой к FASM справке и продублировано на официальном сайте.
Цитата:
The interface macro allows to declare the interface of the COM object type, the first parameter is the name of interface, and then the consecutive names of the methods should follow, like in this example:
interface ITaskBarList,\
QueryInterface,\
AddRef,\
Release,\
HrInit,\
AddTab,\
DeleteTab,\
ActivateTab,\
SetActiveAlt


То есть, предлагается брать заголовочники на Си или модули на Паскале, подглядывать в них и писать себе такое же, но на ассемблере, ибо настоящие мужчины сами пишут себе заголовочные файлы под ОС.

FASM вообще отличный инструмент, советую детальней изучить его возможности.

46K
22 мая 2013 года
GerdtR
26 / / 20.03.2012
Да я и так его изучаю. Под винду, правда не все фишки знаю. Под Колибри больше знаю. Вот, например, с COM впервые толкнулся. А в инклудниках Си я искал уже. Пока не нашёл.

Знаете кого-то, кто может ответить? Поделитесь с ним ссылкой.

Ваш ответ

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог