Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по программированию на Assembler

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133

Открыть новую тему     Написать ответ в эту тему

ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Обсуждаются все вопросы, связанные с программированием на Ассемблере как общего так и конкретного характера.
 
важное примечание
для тех кто считает, что здесь место халявных исполнений курсовых и лабораторных работ.
тут обычно помогают тем, кто сам хоть что-то пытается понять и сделать, но что-то не понимает, что-то не получается...
ведь ассемблер изучают и задачки на нём дают обычно не менеджерам по продажам и даже не всем физ.-мат. специальностям
вы сами избрали этот путь? вот и идите по нему сами, ножками... с ручками и с головой...
 
короче, тут не сборище придурков-альтруистов, которым нечего делать и они ждут-не дождутся когда вы их попросите
что-то сделать _за_ вас
если позарез надо и вы даже готовы заплатить, тогда вам сюда
удачи
 
некоторые ресурсы
http://www.wasm.ru/ Самый популярный русскоязычный ресурс. https://wasm.in/
Ассемблер - книги (ASM, Assembler)
 
Просьба все большие листинги оформлять тегом more.
 
если вам вдруг не отвечают или ответ вас не устраивает
и вообще полезно прочитать всем спрашивающим

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 01:42 29-11-2006 | Исправлено: akaGM, 17:44 11-06-2020
conty9



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bomzzz, некоторые ЕХЕ-шки скрывает так, что не видно саму программу

Всего записей: 1700 | Зарегистр. 27-11-2006 | Отправлено: 11:46 05-08-2010
bomzzz



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
есть ShellExecute есть CreateProcess.
в стартере ShellExecute - возможно поэтому. но батники она все должна запускуть возмодно некоторые екзешники. надо описание апи функций почитать
 
Добавлено:
ну так не делай их нивидимыми.  
 
Добавлено:
там любой вид окна настраивается. ты наверно последний параметр не используешь, а по умолчанию окно невидимое - 0
 
Добавлено:
0 - скрытое окно.
1 - нормальное окно.
2 - минимизированное окно.
3 - максимизированное окно.
4 - запустить приложение с окном в том состоянии, в котором оно было последний раз. Текущее активное окно останется активным.
5 - запустить приложение с окном в текущем состоянии.
7 - минимизированное окно. Текущее активное окно останется активным.
10 - состояние окна по умолчанию для приложения.  
 
BatStarter.exe /MyBatnik.BAT/MyParametr/1
 
Добавлено:
ShellExecuteEx еще есть. нао описание искать. у меня в справочнике подробности не расжевывваются
 

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 11:48 05-08-2010 | Исправлено: bomzzz, 13:30 05-08-2010
conty9



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bomzzz, посмотри ЛС.
Мне бы готовую ЕХЕ-шку, чтобы просто стартонула любое зарегестрированное в системе приложение (при необходимости - с ключами). С ассемблером я последний раз сталкивался ещё в 80-е в институте

Всего записей: 1700 | Зарегистр. 27-11-2006 | Отправлено: 12:44 05-08-2010 | Исправлено: conty9, 12:45 05-08-2010
bomzzz



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
conty9
PROGSTARTER.ZIP 495 байт (495 байт)
 
поробуй вот это. протупил с апи фукцией - тут принцип или или, а не и и
 
START.EXE /MYPROG.EXE MYPARAMETRE
START.EXE /MYPROG.COM MYPARAMETRE
START.EXE /MYBATNIK.BAT MYPARAMETRE
START.EXE /MYPROG.EXE
START.EXE /MYPROG.COM
START.EXE /MYBATNIK.BAT

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 12:47 05-08-2010 | Исправлено: bomzzz, 15:50 05-08-2010
bomzzz



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DEL

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 15:28 05-08-2010 | Исправлено: bomzzz, 03:14 06-08-2010
conty9



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bomzzz, нельзя скачать
Яндекс      404      Нет такой страницы
Несуществующая страница

Всего записей: 1700 | Зарегистр. 27-11-2006 | Отправлено: 15:34 05-08-2010
bomzzz



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
хитрость оказалась в том, что в этой апи фукции - если запускаешь программу указаетль на строку помещаешь в первое значение передаваемое функции, а если тебе еще надо параметр запуска передать - тогда в первое поле имени ноль, а во второе поле параметра и имя программы запускаемой и ее параметр.
 
http://films-onep.ifolder.ru/18786821
PROGSTARTER.ZIP 495 байт (495 байт)
 
нельзя имя наинать с START и RUN на яндексе
 

Цитата:
 
ECHO OFF
COLOR 9F
CLS
START.EXE /C:\Program Files\Download Master\dmaster.exe http://bomz.bomz
START.EXE /rrr.bat yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
pause
 
 
ECHO OFF
COLOR 9F
CLS
echo %1
pause
 

 
проверил все работкаит. COM файл у меня валяется тоже нормально. упсом прога не сжимается
 
Добавлено:
так как прога ищет только до первого слеша - если дальше в строке будет слеш (в параметрах передаваемых запускаемой программе) то ниче не испортится
 
Добавлено:
тута просто все, а с 16 битными программами и память ужать и стек, потом память выделить подготовить псп и только потом запустить

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 15:35 05-08-2010 | Исправлено: bomzzz, 15:59 05-08-2010
conty9



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bomzzz, не видно, некторых прог, например, FAR.

Всего записей: 1700 | Зарегистр. 27-11-2006 | Отправлено: 16:17 05-08-2010
bomzzz



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
что значит не видно?

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 16:24 05-08-2010
conty9



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bomzzz, сорри, слеш забыл... А без него никак?

Всего записей: 1700 | Зарегистр. 27-11-2006 | Отправлено: 16:30 05-08-2010
bomzzz



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
conty9
коммандная строка в системе каждой программы храниться в таком виде
 
C:\KAZDAYAPROGRAMMA.EXE PARAMETRI
поэтому чтоб вырезать кусок после имени программы который нам нужен для запуска надо до него промотать отделив каким то неиспользуемым в именах знаком. любым
 
Добавлено:
можно пробелом - который и так по умолчаниб стоит, но тогда нужно будет использовать только короткие имена для запуска или запускать только из той же директории где программа и что в ее имени не было пробелов
 
Добавлено:
скажи другой знак я перекомпилирую - только чтоб его не было в пути-имени самого стартера
 
Добавлено:
C:\Programe Files\Starter\START.EXE /C:\Program Files\Far20b1263.x86.20091204\FAR.exe
 
вот в таком виде строку получает стартер или в таком смотря откуда запущен
 
START.EXE /C:\Program Files\Far20b1263.x86.20091204\FAR.exe
 
Добавлено:
давай сделаем пробел - тогда никакого знака как бы не надо будет, но стартер положи куда нибудь что в пути к нему не было пробелов. или какой нибудь идиотский знак ~ такой или @ # %
 
Добавлено:
слеш общепринятый поэтому конфликтов не возникает
 
Добавлено:
еще вот так принято делать PROG.EXE -help

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 16:31 05-08-2010 | Исправлено: bomzzz, 16:46 05-08-2010
conty9



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bomzzz, в той же hidcon.exe всё работает и через пробел с любыми именами и путями (кстати, очень похожа на твою ЕХЕ-шку).
http://tools.oszone.net/Vadikan/temp/hidcon.exe

Всего записей: 1700 | Зарегистр. 27-11-2006 | Отправлено: 16:49 05-08-2010
bomzzz



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
оан так же сделана.
ну тогда она должна разбирать строку до своего имени. потом до первого пробела. будет так работать. а чем тебе слеш мешает. щас подумаю как сделать.  
 
Добавлено:
ну тут целая история - надо искать апи функцию которая имя файла определяет.... щас попроюсь. а хидикон ета действиетльно CALL а не START делает
 
Добавлено:
она тоже на масме 32 сделана

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 16:55 05-08-2010
conty9



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bomzzz, может, проще подправить hidcon?

Всего записей: 1700 | Зарегистр. 27-11-2006 | Отправлено: 18:08 05-08-2010
bomzzz



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
как ее подправишь нужно дезассемблер искать.

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 18:24 05-08-2010 | Исправлено: bomzzz, 03:10 06-08-2010
bomzzz



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
алгоритм простейший:
если командная строка начинается с " - тогда мотаем до следующих кавычек + 2 символа
если командная строка не начинается с " - тогда мотаем до первого пробела + 1
это и есть смещение на командный параметр

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 20:28 05-08-2010 | Исправлено: bomzzz, 03:15 06-08-2010
bomzzz



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
давненько я так не тупил, проще пареной репы. старость не радость, в школе как орешки щелкал. проверяй.
 
PROGRUNNER.ZIP      515 байт (515 байт)
возвращает хендл процесса (?) или 0 в случае конфуза - файл не найден
 
проверил во всех ситуациях - запуск с коротким именем, с пробелами, из текущей папки, с указанием расширения и без, и даже так:

Цитата:
 
ECHO OFF
COLOR 9F
CLS
chcp 1251
".\!.EXE I\START.exe" DosWinConverter.exe
 

 
Добавлено:
может как батстартер переделать? с видом окна иногда удобнее, для тех случаев когда программа в сборке запускается с помощью батника - чтоб окно батника не вылазило.  
и поосторожнее с именами START и RUN не самые лучшие имена для программы
 
start.exe C:\Program Files\Download Master\dmaster.exe
echo %errorlevel%
 
 

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 01:34 06-08-2010 | Исправлено: bomzzz, 03:54 06-08-2010
bomzzz



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
conty9
а порождаемому процессу не надо передавать указатель на рабочую директорию? а то они все из папки стартера будут запускаться, или придется в каждую папку стартер ложить и смысла не будет - винде опять надо будет проверять кучу файлов.
только тогда наверно надо быдет в параметре кавычки применять в обязательном порядке для пробелов тебе это опять не понравиться. или к слешу вернуться.
 
вообщем если надо передать рабочую директорию запускаемому процессу (скорее всего она равна директории в которой лежит исполняемый (запускаемый) файл, тогда надо делать разбор разбора командных параметров командной строки и опять надо какие то опозновательные знаки. это или пробел - но тогда все пути имеющие пробелы надо брать в кавычки, или слеш или другой символ не используемый в путях и редкоиспользуемый в конмадных параметрах - или два стартера с разными символами.
 
и кстати абсолютно непонятно почему ты не сделал это просто батником, который все это тоже умеет (не умеет одного окна скрывать) и передавать получать параметры и запускать любые программы. и рабочую директорию менять

@ECHO OFF
CD %~dp1%
START %~1%


и всё...
 
если параметры пердать надо то нужны кавычки START.BAT "C:\PROGRAM FILES\MYPROG.EXE MYPARAMETRES"

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 04:19 06-08-2010 | Исправлено: bomzzz, 06:27 06-08-2010
conty9



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bomzzz, ком-файл не подходит - ведь все проги будут запускаться так, дос-окна будут раздражать. А за ехе-шник большое спасибо, протестирую вечером. Пока всё ок.

Всего записей: 1700 | Зарегистр. 27-11-2006 | Отправлено: 10:15 06-08-2010 | Исправлено: conty9, 10:18 06-08-2010
bomzzz



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ну окно батника легко сделать невидимым.
кстати ярлыки прекрасно пакуются в архивы и спокойно оттуда распаковываются, и работают если пути не поменялись. нельзя сделать ярлыки сразу?
 
Добавлено:
PROGRUNNERHIDE.ZIP      589 байт (589 байт)
тоже самое только запускаемая программа запускается в невидимом режиме (не все поддерживают вернее поддерживают то все просто некоторые насильно тип своего окна указывают).  
 
PROGRUNNERPATH.ZIP      652 байт (652 байт)
тоже самое но передает запускаемой программе рабочую директорию равную пути к запускаемой программе, в случае наличия пробелов в пути или имени запускаемой программы обязательно требуются кавычки
 
PROGRUNNERPATHHIDE.ZIP      659 байт (659 байт)
тоже самое но запускает окно в скрытом режиме
 
START.EXE "C:\MYPATH WITH SPACES\MYPROG.EXE" MYPARAMETR
START.EXE "C:\MYPATH WITH SPACES\MYPROG.EXE"
START.EXE C:\MYPATHWITHOUTSPACES\MYPROG.EXE MYPARAMETR
 
рабочий путь C:\MYPATH WITH SPACES или C:\MYPATHWITHOUTSPACES
 
если путь отсутсвует  
START.EXE MYPROG.EXE MYPARAMETR
START.EXE MYPROG.EXE
тогда рабочая директория запускаемойпрограммы будет той же которая у START.EXE

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 13:47 06-08-2010 | Исправлено: bomzzz, 18:33 06-08-2010
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по программированию на Assembler


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru