|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
17.04.2009, 19:35 | #1 |
Форумчанин
Регистрация: 17.09.2008
Сообщений: 349
|
Запуск с параметрами
Нужно прогу загрузить с параметрами:
dvd.exe open dvd.exe close Но только не работает. пробовал через Message, вроде слово показывает (open или close). Пример проги: Код:
если чем помог, поставьте отзыв на весы
Последний раз редактировалось rpy3uH; 17.04.2009 в 20:31. |
17.04.2009, 19:46 | #2 |
Пользователь
Регистрация: 15.07.2008
Сообщений: 28
|
Xatr, вместо '.if eax==6F70656Eh ;open' нуна '.if eax==6E65706Fh ;nepo' вроде
|
17.04.2009, 20:32 | #3 |
добрый няша
Старожил
Регистрация: 29.10.2006
Сообщений: 4,804
|
функция GetCommandLine возвращает путь к нашему экзешнику плюс все параметры. Путь к экзешнику и параметр заключены в кавычки. Осталось только пропарсить строки и отделить путь к программе и сам параметр
|
17.04.2009, 21:56 | #4 |
Пользователь
Регистрация: 15.07.2008
Сообщений: 28
|
rpy3uH, та не, ТС же пользует готовую функцию масма.
Xatr, Код:
Код:
Код:
|
18.04.2009, 15:34 | #5 |
Форумчанин
Регистрация: 17.09.2008
Сообщений: 349
|
А нельзя ли это всё сделать без процедур?
если чем помог, поставьте отзыв на весы
|
19.04.2009, 15:04 | #6 |
добрый няша
Старожил
Регистрация: 29.10.2006
Сообщений: 4,804
|
без каких процедур?
|
20.04.2009, 16:24 | #7 |
Форумчанин
Регистрация: 17.09.2008
Сообщений: 349
|
"main proc"
"open proc" "close proc" при помощи lea, тоже работает, но дальше условия не проходит Изменённый код: Код:
dvd close для удобства были изменены на dvd 1 dvd 2 соответственно
если чем помог, поставьте отзыв на весы
Последний раз редактировалось rpy3uH; 20.04.2009 в 19:16. |
21.04.2009, 03:22 | #8 |
Непрофессионал
Участник клуба
Регистрация: 01.01.2008
Сообщений: 1,405
|
Ну так и правильно всё.
lea eax,buffer1 - берём адрес строки в eax cmp ax,31h ;open - сравниваете младшие 16 бит адреса со значением 0031h, а надо сравнивать значение по этому адресу. Код:
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------ Страничка с моими программками http://ulex-masm.ru |
29.04.2009, 20:30 | #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 что-то не проходит.
если чем помог, поставьте отзыв на весы
|
30.04.2009, 00:12 | #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 |