Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

03.02.2010, 00:17
|
|
Познающий
Регистрация: 13.12.2009
Сообщений: 63
Провел на форуме: 483747
Репутация:
5
|
|
ничего полезного там не нашел 
|
|
|

03.02.2010, 00:34
|
|
Reservists Of Antichat - Level 6
Регистрация: 23.08.2007
Сообщений: 1,237
Провел на форуме: 18127311
Репутация:
1676
|
|
ничего полезного там не нашел
Да ладно?
DlgStatic "Введите символы с картинки:",0,5,20,105,15,100 ;текст, стиль, x, y, ширина, высота, ID контрола
|
|
|

03.02.2010, 18:15
|
|
Новичок
Регистрация: 10.01.2010
Сообщений: 5
Провел на форуме: 31750
Репутация:
0
|
|
Ты как прогу компилил? Под Win32 или под Консоль?
Нужно чтобы подконсоль компили. типа черное окошко
? На RadAsm-e. Мм, сначала assemble, потом link. В результате получал 2 файла - .obj и .exe.
Чтобы посмотреть, выводит ли в консоль, я запустил консоль)))
win+r -> cmd -> [перешел в папку в ехе-шником] -> запустил ехе-шник)
Вместо текста программа просто пропускает строку и все.
|
|
|

03.02.2010, 23:13
|
|
Новичок
Регистрация: 16.11.2006
Сообщений: 20
Провел на форуме: 589436
Репутация:
14
|
|
Сообщение от Actor
.386
.model flat, stdcall
option casemap:none
ExitProcess proto :dword
GetStdHandle proto :dword
WriteConsoleA proto :dword, :dword,\
:dword, :dword, :dword
includelib \masm32\lib\kernel32.lib
.data
stdout dd ?
msg db "My name is Vova", 0dh, 0ah
cWritten dd ?
.code
start:
invoke GetStdHandle, -11
mov stdout, eax
invoke WriteConsoleA, stdout, ADDR msg, sizeof msg,\
ADDR cWriten, 0
invoke ExitProcess, 0
end start
У тебя метка cWritten (12 строка) с двумя "t", в функцию WriteConsoleA ты передал с одной "t".
Собирать этот код так:
C:\masm32\bin\ml.exe /c /coff lol.asm
C:\masm32\bin\link.exe /subsystem:console lol.obj
lol.asm - имя исходника.
|
|
|

04.02.2010, 16:35
|
|
Новичок
Регистрация: 10.01.2010
Сообщений: 5
Провел на форуме: 31750
Репутация:
0
|
|
Собирать этот код так:
C:\masm32\bin\ml.exe /c /coff lol.asm
C:\masm32\bin\link.exe /subsystem:console lol.obj
lol.asm - имя исходника.
thx, заработало)
Кстати, нашел второй способ решения проблемы - вызвать процедуру AllocConsole.
|
|
|

09.02.2010, 03:16
|
|
Time out
Регистрация: 28.11.2005
Сообщений: 547
Провел на форуме: 2320925
Репутация:
1348
|
|
Опрашиваю все съёмные носители и далее использую функцию CreateFile вот таким образом
invoke CreateFile, drive, GENERIC_WRITE, FILE_SHARE_READ, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_HIDDEN, 0
;проверка на INVALID_HANDLE_VALUE - тогда на exit
; ОШИБКА НА ДИСКЕ, оставшемся из-за Alcohol или DAEMON TOOLS. MSDN - This error can occur if the CD-R drive or CD-RW drive is not recognized as a recordable device.
cmp eax, 0
je next
На одном устройстве выпадает окошко с ошибкой There is no disk in the drive (это остаток виртуального диска от DAEMON TOOLS) - если нажать далее - то всё ок.
Как мне сделать так, чтобы оно не выскакивало вообще (без программного нажатия кнопки далее). В случае, если так нереально сделать - то как сделать програмнное нажатие кнопки далее - я имею ввиду - перехватить хэндл появившего окна и отослать диспетчеру что-то типа MB_OK?
__________________
Нельзя считать себя достаточно взрослым, если у тебя школьные фотографии - цифровые.
|
|
|

10.02.2010, 00:11
|
|
Banned
Регистрация: 11.03.2007
Сообщений: 32
Провел на форуме: 561794
Репутация:
73
|
|
Сообщение от 1ten0.0net1
Опрашиваю все съёмные носители и далее использую функцию CreateFile вот таким образом
invoke CreateFile, drive, GENERIC_WRITE, FILE_SHARE_READ, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_HIDDEN, 0
;проверка на INVALID_HANDLE_VALUE - тогда на exit
; ОШИБКА НА ДИСКЕ, оставшемся из-за Alcohol или DAEMON TOOLS. MSDN - This error can occur if the CD-R drive or CD-RW drive is not recognized as a recordable device.
cmp eax, 0
je next
На одном устройстве выпадает окошко с ошибкой There is no disk in the drive (это остаток виртуального диска от DAEMON TOOLS) - если нажать далее - то всё ок.
Как мне сделать так, чтобы оно не выскакивало вообще (без программного нажатия кнопки далее). В случае, если так нереально сделать - то как сделать програмнное нажатие кнопки далее - я имею ввиду - перехватить хэндл появившего окна и отослать диспетчеру что-то типа MB_OK?
Код:
//Функция проверки готовности диска, нужна для дискет и компакт-дисков
BOOL IsDriveReady(char drive)
{
BOOL res;
char path[4];
asm
{
//заполняем path
mov al,drive
lea ebx,path
mov [ebx],al
mov [ebx+1], byte ptr':'
mov [ebx+2], byte ptr'\'
mov [ebx+3], byte ptr 0
push SEM_FAILCRITICALERRORS
call SetErrorMode //устанавливаем минимальный уровень ошибок
push eax //сохраняем страрый ErrorLevel
push ebx
call SetCurrentDirectory //пытаемся обратиться к приводу
mov res,eax
call SetErrorMode //возвращаем старый Errorlevel
}
return res;
}
Короче, надо вызвать SetErrorMode с параметром SEM_FAILCRITICALERRORS
|
|
|

10.02.2010, 01:14
|
|
Time out
Регистрация: 28.11.2005
Сообщений: 547
Провел на форуме: 2320925
Репутация:
1348
|
|
Сообщение от xlinux
Короче, надо вызвать SetErrorMode с параметром SEM_FAILCRITICALERRORS
Всё сработало отлично, благодарю. Правда, FASM отказался опознавать SEM_FAILCRITICALERRORS - пришлось заменять на 1.
__________________
Нельзя считать себя достаточно взрослым, если у тебя школьные фотографии - цифровые.
|
|
|

14.02.2010, 01:30
|
|
Познающий
Регистрация: 21.11.2009
Сообщений: 77
Провел на форуме: 2482290
Репутация:
29
|
|
Как сделать так чтоб кнопка была по центру окна?
ps masm32
|
|
|

17.02.2010, 22:57
|
|
Banned
Регистрация: 03.01.2010
Сообщений: 7
Провел на форуме: 32083
Репутация:
0
|
|
Подскажите литературу для программирования PIC16f676
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|