Здравствуйте. Моей задачей является написать windows-приложение, которое при задании ему параметров дописывает их в txt-файл, те если запускаем "C:\prog.exe s", то в txt-файл будет дописан символ "s". Проблемы: 1. В моем случае программа переписывает символы в txt-файле. 2. Приложение работает "правильно" только, если его запускать из "пуск->выполнить"; из консоли оно не работает даже если я указываю при линковке ключ "/SUBSYSTEM:CONSOLE". Помогите выявить ошибки. Код (Text): .386 .model flat, stdcall include \masm32\include\windows.inc include \masm32\include\user32.inc include \masm32\include\kernel32.inc includelib \masm32\lib\user32.lib includelib \masm32\lib\kernel32.lib .data path db "C:\key.txt",0 .code start: main proc local hConsole :dword local hFile :dword local strng :dword local dwResult :dword invoke GetStdHandle, STD_OUTPUT_HANDLE mov hConsole, eax invoke GetCommandLine dcr_line: inc eax cmp byte ptr [eax], 22h jnz dcr_line add eax, 2 mov strng, eax ;invoke MessageBoxA, 0, strng, strng, 0 invoke CreateFile, addr path, GENERIC_WRITE, 0, 0, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0 mov hFile, eax invoke WriteFile, hFile, strng, 1, addr dwResult, 0 invoke CloseHandle, hFile invoke CloseHandle, hConsole invoke ExitProcess, 0 main endp end start Ключи: Код (Text): ml /c /coff /Cp src.asm link /SUBSYSTEM:WINDOWS src.obj
MSoft, спасибо, 1-ая проблема решилась с помощью: Код (Text): invoke SetFilePointer, hFile, 0, 0, FILE_END Вы могли бы помочь решить 2-ую, она по сути не проблема, но все-таки интересно.