Форум программистов, компьютерный форум, киберфорум
Наши страницы

Assembler, MASM, TASM

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.73
semiono
12 / 12 / 0
Регистрация: 14.09.2010
Сообщений: 285
Записей в блоге: 6
#1

ShellExecuteEx(fasm) - Assembler

14.09.2010, 19:35. Просмотров 1442. Ответов 5
Метки нет (Все метки)

Превед! Изучаю лениво msdn api через флат ассемблер. Очередной раз ступор из-за структур,
так как в голове всё не умещается, забываю. Интересует вчастности ShellExecuteEx()
Нашёл пример (masm32) <УДАЛЕНО>
Не могу понять, если есть имя структуры SHELLEXECUTEINFO, зачем его ещё определять как sei,
Fasm ругается на такое LOCAL sei:SHELLEXECUTEINFO

Здесь
Код
struc SHELLEXECUTEINFO { 
  .: 
  .cbSize       dd ? 
  .fMask        dd ? 
...

  .dwHotKey     dd ? 
  label .hIcon dword 
  .hMonitor     dd ? 
  .hProcess     dd ? 
  .. = $ - . 
}
не ясно куда втиснуть sei

Мне кажется если я осилю это, то дальше будет легко, так как помимо структур
ничего сложного вроде бы нет. Помогите зделать этот шаг!

Огромную литературу по тасму и даже по асму нету времени читать, причём всё что мне не нужно то и пишут тонами.
В редких записках "Старый дом HT" ито больше толку, жаль маловато =)
 Комментарий модератора 
запрещены ссылки на другие форумы
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.09.2010, 19:35
Я подобрал для вас темы с готовыми решениями и ответами на вопрос ShellExecuteEx(fasm) (Assembler):

Вызываю dll (написанную на vc++2008) из Fasm. Через 40 секунд вылет из программы.Без вызова dll из Fasm программа не вылетает. - Assembler
Программа на vc++2008: #include &quot;MathFuncsDll.h&quot; #include &lt;stdexcept&gt; using namespace std; namespace MathFuncs { ...

fasm - Assembler
org 100h mov cl,0 mov ch,255 cikl: mov ah,0eh shl ch,1 jc perivod mov al, '0' jmp label2 perivod:

Из Fasm в MASM - Assembler
Ребят обращаюсь вот по какому вопросу , я сделал курсовой проект в FASM , с ним более менее знаком и как по мне он более прост, при здаче...

MSXML (Fasm) - Assembler
Много раз уже слышал об этой библиотеке, но может ктнибудь покажет примерчик для самых маленьких? Файл default.oll |...

WinApi и fasm - Assembler
Есть ли толковая документации по использованию winapi в fasm'e ?

FASM WinInet - Assembler
Решил попробовать написать программу, которая бы выводила первые 1023 (например, просто не знаю как всю страницу вывести :) байт...

5
Goodwin98
2521 / 817 / 9
Регистрация: 31.05.2009
Сообщений: 1,672
14.09.2010, 19:52 #2
Цитата Сообщение от semiono Посмотреть сообщение
Fasm ругается на такое LOCAL sei:SHELLEXECUTEINFO
sei это экземпляр структуры, а SHELLEXECUTEINFO это ее название.
0
semiono
12 / 12 / 0
Регистрация: 14.09.2010
Сообщений: 285
Записей в блоге: 6
14.09.2010, 20:29  [ТС] #3
я объявил так
sei SHELLEXECUTEINFO ; тепрь вроде правильно.
далее следует функция
INVOKE RtlZeroMemory, ADDR sei, SIZEOF sei
SIZEOF из масма, не ясно как быть.

Я не уверен нужна ли мне RtlZeroMemory(), но просто примера ShellExecuteEx() другого у меня нет.
Вот пытаюсь переварить что там написано.

Добавлено через 2 минуты
Цитата Сообщение от Goodwin98 Посмотреть сообщение
sei это экземпляр структуры,
Goodwin98, я так понимаю это обращение к полям структуры, напр.
sei.cbSize
sei.fMask это мне вроде бы ясно...
0
Goodwin98
2521 / 817 / 9
Регистрация: 31.05.2009
Сообщений: 1,672
14.09.2010, 20:36 #4
Насчет sizeof. Насколько я помню, в фасме нет его аналога, значит придется делать самому...
Как-нибудь так, например.
Assembler
1
2
sei SHELLEXECUTEINFO ; структура
length_sei equ $-sei ; ее размер
1
Orwomoi
64 / 63 / 3
Регистрация: 16.11.2009
Сообщений: 156
14.09.2010, 20:47 #5
Assembler
1
invoke RtlZeroMemory,addr sei,sizeof.SHELLEXECUTEINFO
1
semiono
12 / 12 / 0
Регистрация: 14.09.2010
Сообщений: 285
Записей в блоге: 6
14.09.2010, 21:35  [ТС] #6
"To avoid any undesired effects of optimizing compilers, use the SecureZeroMemory function."
Странно зачем там понадобилось RtlZeroMemory.
Скампилил в масм код чтобы убедиться, что работает. Теперь буду изучать.

Цитата Сообщение от Goodwin98 Посмотреть сообщение
length_sei equ $-sei ; ее размер
Цитата Сообщение от Orwomoi Посмотреть сообщение
invoke RtlZeroMemory,addr sei,sizeof.SHELLEXECUTEINFO
благодарю! всётаки в масме много всякого заковыристого чтобы перегонять в фасм

а если есть примитивный готовый примерчик по ShellExecuteEx() буду очень рад!?
0
14.09.2010, 21:35
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.09.2010, 21:35
Привет! Вот еще темы с ответами:

ИГРА FASM - Assembler
Помогите пожалуйста напишите мне игру на FASM. Надо очень. Игра OpenGL. Спасибо заранее тому, кто откликнется. Любую игру на OpenGL. FAsm.

SetSysColors (FASM) - Assembler
Напишите пожалуйста программу (за меня), чтобы цвет всех окон Windows изменить. Диалоги никакие не нужны, просто изменить....

WriteFile в FASM - Assembler
Плз подскажите как пользоваться с функцией WriteFile в FASM. Файл создал с помощью CreateFile, но запись почему-то не идет invoke...

Константы (fasm) - Assembler
Как мне зделать такое? const.inc: ; секцию инклюда не знаю как обозначить... invoke...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru