Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.14.253.152] |
|
Сообщ.
#1
,
|
|
|
Помогите пожалуйста !!!
Вопросы: Не получается вывести имя пользователя или другую информацию (WINDOWSDIRECTORY и т.д.) Чего не хватает в программе ??? Через какие API функции можно узнать серийный номер биоса,серийный номер винчестера,размер памяти, частоту процессора ?? Можно ли вырезать информацию (имя компа,кол-во памяти,имя компа и т.д.)вызываемую функцией ShellAboutA и если можно то как? Почему не выводит имя пользователя ? ;******* файл User.asm ******* .386 .model flat,stdcall extrn GetUserNameA:PROC extrn MessageBoxA:PROC extrn ExitProcess:PROC .const MB_OK = 0000H .data lpBuffer db 25 dup (0) nSize dd 0 ;на MASM nSize dd sizeof lpBuffer а как это будет на TASM mcap db "UserName",0 .code start: call GetUserNameA, offset lpBuffer,offset nSize call MessageBoxA, 0,offset lpBuffer,offset mcap, MB_OK call ExitProcess,0 end start ;******* файл compil.bat ******* tasm32 user.asm tlink32 D:\TASM\LIB\import32.lib user.obj,user.exe del *.obj del *.map Спасибо |
Сообщ.
#2
,
|
|
|
Цитата Serpent, 30.03.02, 17:56:40 Помогите пожалуйста !!! Вопросы: Не получается вывести имя пользователя или другую информацию (WINDOWSDIRECTORY и т.д.) Чего не хватает в программе ??? В принципе все хватает и корректно Цитата nSize dd 0 ;на MASM nSize dd sizeof lpBuffer а как это будет на TASM lpBuffer db 25 dup (0) nSize dd ($-lpBuffer) У меня все откомпилировалось и заработало без проблем Цитата Через какие API функции можно узнать серийный номер биоса,серийный номер винчестера,размер памяти, частоту процессора ?? Серийный номер биоса - только через обращение к физической памяти сегмента BIOS (в NT, ИМХО, не получится) Серийный номер винчестера - http://www.sources.ru/asm/devid32.shtml Размер памяти - GlobalMemoryStatus Частота процессора - обычно осуществляется выполнение определенного кол-ва тактов с помощью инструкции процессора RDTSC и замер этого времени с помощью функции QueryPerformanceCounter Цитата Можно ли вырезать информацию (имя компа,кол-во памяти,имя компа и т.д.)вызываемую функцией ShellAboutA и если можно то как? Не понял! Цитата Почему не выводит имя пользователя ? У меня вывело, но можешь проверить с помощью td32 результат выполнения функции GetUserNameA (регистр EAX и nSize), если EAX==0 или nSize==0, значит проблемы не в проге |
Сообщ.
#3
,
|
|
|
Огромнейшее спасибо.
Алексей. |