Получение аргументов командной строки
Надо получить аргументы командной строки используя FASM, я делал это так:
start:
mov ebx, DWORD [ebp+4]
invoke MessageBox, 0, ebx, window_name, MB_OK
передаваемый аргумент - test , а я получаю пустое окно. Пробовал смещения и 0 и 4 и 8. При использовании:
ebp+0 - мя
ebp+4 - й)O тут еще символ 127-ой по счету в ASCII
ebp+8 - ничего нету.
Я верно понимаю что необходимый параметр это ebp+4, но что-то не то с кодировкой? приложение - 32bit, ОС - 64bit
Ответы (1 шт):
При запуски процесса система ничего не передает ему по умолчанию, если ты хочешь прочитать командную строку то ты вызываешь метод GetCommandLineA и он вернет тебе указатель нам командную строку. Дальше делай с ней что хочешь.
Параметры передаваемые в С++ на самом деле получается путем добавления к твоему коду дополнительного кода не видимого тебе который выполняет эту работу.