![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 17.09.2008
Сообщений: 349
|
![]()
Нужно прогу загрузить с параметрами:
dvd.exe open dvd.exe close Но только не работает. пробовал через Message, вроде слово показывает (open или close). Пример проги: Код:
если чем помог, поставьте отзыв на весы
![]() Последний раз редактировалось rpy3uH; 17.04.2009 в 20:31. |
![]() |
![]() |
![]() |
#2 |
Пользователь
Регистрация: 15.07.2008
Сообщений: 28
|
![]()
Xatr, вместо '.if eax==6F70656Eh ;open' нуна '.if eax==6E65706Fh ;nepo' вроде
|
![]() |
![]() |
![]() |
#3 |
добрый няша
Старожил
Регистрация: 29.10.2006
Сообщений: 4,804
|
![]()
функция GetCommandLine возвращает путь к нашему экзешнику плюс все параметры. Путь к экзешнику и параметр заключены в кавычки. Осталось только пропарсить строки и отделить путь к программе и сам параметр
|
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 15.07.2008
Сообщений: 28
|
![]()
rpy3uH, та не, ТС же пользует готовую функцию масма.
Xatr, Код:
Код:
Код:
|
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 17.09.2008
Сообщений: 349
|
![]()
А нельзя ли это всё сделать без процедур?
если чем помог, поставьте отзыв на весы
![]() |
![]() |
![]() |
![]() |
#6 |
добрый няша
Старожил
Регистрация: 29.10.2006
Сообщений: 4,804
|
![]()
без каких процедур?
|
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 17.09.2008
Сообщений: 349
|
![]()
"main proc"
"open proc" "close proc" при помощи lea, тоже работает, но дальше условия не проходит Изменённый код: Код:
dvd close для удобства были изменены на dvd 1 dvd 2 соответственно
если чем помог, поставьте отзыв на весы
![]() Последний раз редактировалось rpy3uH; 20.04.2009 в 19:16. |
![]() |
![]() |
![]() |
#8 |
Непрофессионал
Участник клуба
Регистрация: 01.01.2008
Сообщений: 1,405
|
![]()
Ну так и правильно всё.
lea eax,buffer1 - берём адрес строки в eax cmp ax,31h ;open - сравниваете младшие 16 бит адреса со значением 0031h, а надо сравнивать значение по этому адресу. Код:
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------ Страничка с моими программками http://ulex-masm.ru |
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 17.09.2008
Сообщений: 349
|
![]()
ай спасибо, работает!
![]() ![]() После: cmp byte ptr[eax],32h jne f push 0 push 0 push 0 push offset b call mciSendString ret добавил: include \masm32\macros\macros.asm f: print "Use: dvd option" print chr$(13,10,13,10) print "Options:" print chr$(13,10) print "o - open DVD-ROM" print chr$(13,10) print "c - close DVD-ROM" ret Как это можно оптимизировать? В Tasm когда-то писал: mov ah,"номер вывода строки на экран" mov dx,offset mes int 21h В masm что-то не проходит.
если чем помог, поставьте отзыв на весы
![]() |
![]() |
![]() |
![]() |
#10 |
Непрофессионал
Участник клуба
Регистрация: 01.01.2008
Сообщений: 1,405
|
![]()
А я бы вам не советовал использовать все эти масм-ие макросы и функции типа print и StdOut. Почему??
1. Кому как, а мне например код вида: .data xxxx .code xxxx .data xxxx .code глаза как то режет. Не, ну конечно здорово, что masm32 такой замечательный компилятор, что во всей этой каше разберётся и данные попадут всё таки в секцию данных. Но лично я такого бардака в своей программе не потерпел бы, а макрос print именно к такому виду вашу программу и приведёт. 2. Использование сторонних функций (StdOut) скорее всего запутает начинающего программиста и вы можете даже не понять, что вы делаете. Поэтому советую для начала поработать с консолью Win32 чистыми WinApi функциями (GetStdHandle, CloseHandle и т.д.).
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------ Страничка с моими программками http://ulex-masm.ru |
![]() |
![]() |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Запуск приложения с параметрами !!! | badfilin | Общие вопросы C/C++ | 6 | 27.05.2010 23:29 |
Автоматический запуск макросов с листа на котором указан перечень макросов с параметрами и без | Neoli | Microsoft Office Excel | 2 | 09.03.2009 14:31 |
Запуск приложения с параметрами | Arhangel_bes | Помощь студентам | 14 | 12.02.2009 21:35 |
Запуск макроса с параметрами из другого макроса | Saladin | Microsoft Office Excel | 2 | 19.01.2009 09:43 |
Запуск exe с параметрами | Altera | Общие вопросы Delphi | 2 | 26.02.2008 21:25 |