| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Asm для Windows/Dos > Определение папки в которой лежит прога, на FASM |
| Автор: fAL 27.1.2005, 15:13 |
| Дайте пожалуйсто исходничек маленькой программки выдающий ввиде MessageBox'а адрес папки из которой она запущена ("C:\..."), и еще если можно исходничек(уже другой жалательно, а то я не разберусь) маленькой програмки передающий чего либо в командную строку (типа формат це Не судите строго, я новичек |
| Автор: Akina 27.1.2005, 15:27 |
| Под Виндой? под ДОСом? И нахрена дубли плодить? |
| Автор: fAL[SCHOOL] 28.1.2005, 17:15 | ||
Под Винду эстественно, а дубли для того что-бы больше народу прочитало |
| Автор: Chingachguk 30.1.2005, 02:22 | ||
|
| Автор: fAL 30.1.2005, 23:56 |
| Чингачгук, спасибо за ответ, но я новичек и поэтому врядли смогу перевести это дело с masm на fasm |
| Автор: Chingachguk 31.1.2005, 00:05 |
| Гм. Ну дай мне пример простой программы на fasm - чтобы я врубился в синтаксис |
| Автор: Guest 31.1.2005, 11:48 | ||
Вот в одном туториале нашел: КОД: ; с этого символа начинается строка комментариев :-) format PE GUI 4.0 ;сообщаем компилятору, что хотим создать GUI-приложение под windows, ;ведь фасм может работать под разными платформами ;***************************************** entry start ;указываем точку входа, т. е. с какой метки начинает выполняться программа ;***************************************** include 'c:\fasm\include\win32a.inc' ;подключаем файл, который будет определять вызов WinАРI-функций ; Вместо «c:\fasm» пропишите свой путь к папке с фасмом ;***************************************** section '.data' data readable writeable ;секция данных ;в данном случае мы инициализируем две строки, оканчивающиеся нулевым символом, ;Все строки должны оканчиваться нулём, почему?.. А догадайтесь сами :-) message db 'fasm - это круто',0 caption db 'Типа название',0 ;***************************************** section '.code' code readable executable ; здесь будет наш код start: ;точка входа, не забыли что эт такое?.. ;вызываем виндошную функцию, выводящую MessageBox invoke MessageBox,NULL,message,caption,MB_OK ;завершаем работу программы invoke ExitProcess,NULL ;***************************************** section '.idata' import data readable writeable library kernel,'KERNEL32.DLL',user,'USER32.DLL' import kernel,ExitProcess,'ExitProcess' import user,MessageBox,'MessageBoxA' ;***************************************** |
| Автор: oleg1973 1.2.2005, 11:59 | ||
упростим немнога код и вот чуть не забыл насчет командной строки, там еще проще , делаем invoke GetCommandLine получаем указатель на asciz строку вида "C:\test.exe parametr" в случае если наш файл лежал в корне диска С и звался тест.ехе ну и сам parametr если он конешно был передан файлу |
| Автор: fAL[SCHOOL] 1.2.2005, 13:30 | ||||||
Получил следующий код
Но этот код не работает, говорит что ошибка в 68 строке файла stdcall.inc в фразе "purge rstargs#first@args" |
| Автор: oleg1973 1.2.2005, 18:11 | ||
я сморю ленивый ты а GetCurrentDirectory сам подумай как прикрутить |