Рассылка закрыта
При закрытии подписчики были переданы в рассылку "RFpro.ru: Ассемблер? Это просто! Учимся программировать" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
RusFAQ.ru: программирование на языке Assembler
Информационный Канал Subscribe.Ru |
RusFAQ.ru: программирование на языке Assembler
Выпуск № 716
от 28.04.2004, 09:20
Администратор: Имя: Калашников О.А. URL: Информационный ресурс ICQ: 68951340 Россия, Москва |
О рассылке: Задано вопросов: 5189 Отправлено ответов: 14289 Активность: 275.3 %
|
Список экспертов, ответы которых опубликованы в данном выпуске |
Pawel Статус: Профессиональный Общий рейтинг: 157.74 [Подробней >>] |
SedHg Статус: Опытный Общий рейтинг: 112.24 [Подробней >>] |
Portnov Статус: Профессиональный Общий рейтинг: 105.98 URL: Мой сайтик... [Подробней >>] |
_vt Статус: Профессиональный Общий рейтинг: 117.79 [Подробней >>] |
St Статус: Профессиональный Общий рейтинг: 105.25 [Подробней >>] |
Евгений Иванов Статус: Профессиональный Общий рейтинг: 133.51 URL: Super Assembler Software Телефон: НСС +7 831 3107039 [Подробней >>] |
Ayl Статус: Профессиональный Общий рейтинг: 116.59 [Подробней >>] |
Acid Burn Статус: Доверительный Общий рейтинг: 140.98 [Подробней >>] |
ASMодей Статус: Профессиональный Общий рейтинг: 111.76 [Подробней >>] |
flasher Статус: Начальный Общий рейтинг: 112.12 [Подробней >>] |
Dragoon Статус: Начальный Общий рейтинг: 118.75 [Подробней >>] |
Foamplast Статус: Профессиональный Общий рейтинг: 148.27 URL: мой личный сайт [Подробней >>] |
Gibbel Статус: Профессиональный Общий рейтинг: 105.63 URL: Savage Metal Club - жизнь в стиле рок-н-ролл Телефон: +7 901 710 3146 [Подробней >>] |
Краткий перечень вопросов |
Вопрос № 5170. расьти... такая вот проблема, у меня XP Pro стоит, поставил я Sice (выдраный из Driver Suite 2.0.1 ;... (ответов: 2)
Вопрос № 5171. Добрый день, уважаемые эксперты. Однако, буду развивать свои вопросы дальше. 1) Насчёт win & openGL:... (ответов: 2)
Вопрос № 5172. Добрый день, уважаемые эксперты. вот тут много писали про перевод целого числа в строку, 10-ич или 1... (ответов: 3)
Вопрос № 5173. Здравствуйте, уважаемые эксперты! Захотелось тут мне недавно поковыряться в своей загрузочной записи... (ответов: 5)
Вопрос № 5174. Как генерировать случайные числа на Ассемблере.... (ответов: 3)
Вопрос № 5175. Всем привет. Не хотелось беспокоить, но яндекс не помог. Помогите ссылками или доками по поводу техн... (ответов: 3)
Вопрос № 5176. Есть такая задача: нужно сделать так чтобы в программе (сом - файл) был размещен код по адресу 100h,... (ответов: 2)
Вопрос № 5177. расьти... 1) в продолжение предыдущего вопроса: а если я сам програмульку напишу и в ней будет Messa... (ответов: 1)
Вопрос № 5178. Меня интересует, каким образом можно узнать серийный номер винчестера под win98 на асме? Нигде не мо... (ответов: 3)
Вопрос № 5179. физкульт привет! такой вопрос возник: как можно текст получить из edit-box'а кроме GetWindowText?, а... (ответов: 3)
Вопросов: 10, ответов: 27
Вопрос № 5170 |
расьти...
такая вот проблема, у меня XP Pro стоит, поставил я Sice
(выдраный из Driver Suite 2.0.1 ;) ) и тут началось...
во-первых: допустим ставлю я bpx MessageBoxA, запускаю какую-нить програмку (в которой ентот бокс отднозначно вылазиет), а Sice ваще себя ни как не проявляет, и так с ЛЮБОЙ функцией. хотя в winice.dat я раскоментировал строчки с dll-ками... ???
во-вторых: после нескольких вкл. и выкл. (aka Ctrl+D) Sice намертво вешает машину :(
че за прикол ума не приложу (версия штоли старая?)
Вопрос отправлен: 21.04.2004, 07:50
Отправитель: очень хочу научиться
[Следующий вопрос >>] [Список вопросов]
Отвечает Pawel
Здравствуйте, очень хочу научиться!
Там не просто MessageBoxA а чтото типа _MessageBoxA
Ответ отправлен: 22.04.2004, 19:55
Отправитель: Pawel
Отвечает SedHg
Доброе время суток, очень хочу научиться!
Ну, во-первых может быть не простой MessageBoxA, а вот такие "извращения":
-MessageBoxEx,
- MessageBoxIndirect,
Также после апишки может стоять не только "A", но "W", если строки Unicode.
Если програ написана на Делфях, то, скорее всего, используется самолепная функция ShowMessage, которою ты, естественно не отловишь :-(.
>>Sice намертво вешает машину
Ты такой не один ;-).
Посмотри Сайс на reversing.Kulichki.net, там патчи всякие есть для работы в XP.
Ответ отправлен: 21.04.2004, 14:11
Отправитель: SedHg
Вопрос № 5171 |
Добрый день, уважаемые эксперты.
Однако, буду развивать свои вопросы дальше.
1) Насчёт win & openGL: У меня есть окно, где выводится графика openGL
и одновременно Textout, Ellipse. (Вообще-то для openGL есть ещё свои
быстрые текстовые функции, но я пока спрашиваю про gdi) Всё ОК, но при
частой перерисовке элипс и текст "блымают"(мигают, мерцают), не успевают
перерисовываться, как я понимаю. Скажите, действительно ли эти функции
(Textout, Ellipse) сравнительно медленные?
----------
2)насчёт Vis C++ & TASM: когда в VC объявляестя "__imp__ExitProcess@4"
то я это ещё могу понять: ну функция, ну импортная, ну параметр
Dword - 4 байта, но скажите, почему "void vcpp1(void)" обзывается
компилятором VC "?vcpp1@@YAXXZ"? или хотя бы по какому правилу присваевается
такое странное имя? Это уже не mangling, а издевательство над программистом:
я что, каждый раз должен HEX-редактором лазить по asm- или OBJ-модулям и
смотреть очередное творчество компилятора? :-(
Я конечно понимаю, надо VC+MASM или BCB+TASM, согласен, но всё-таки?
--------
3)когда я пишу win проги на С++ или аsм, а потом пытаюсь просмотреть на них
через WinSight32, то иногда вылазят окна "???????", т. е. нераспознаваемые.
при перезапуске WinSight это остаётся, а при перезапуске компа - всё ок,
всё опять нормально читается. (А вот с Spy++ таких фокусов нет, всё ок)
Я так думаю, это может быть глюк WinSight (маловероятно), моей проги
(хотя тогда почему с Spy++ всё ок?) или совместный (скорее всего)
так вот сам вопрос: если я последовательно пишу прогу, она регистрирует
свой класс окна, я переписываю прогу и запускаю, то могут ли наблюдаться
глюки из-за взаимодействия старого класса окна и нового кода проги?
и что вообще будет, если две СОВСЕМ РАЗНЫЕ проги будут иметь одинаковый
класс окна?
--------
4)Скажите, а правда ли, что Эксперты часто отвечают только на один из
нескольких вопросов? ;-)
Вопрос отправлен: 21.04.2004, 16:01
Отправитель: soflot (soflot@ukr.net)
[Следующий вопрос >>] [Список вопросов]
Отвечает Portnov
Здравствуйте, soflot!
3) а) Exe-файл проги, работающей в данный момент, недоступен для записи. Таким образом Win решает описанный вами вопрос: вы вашу прогу просто не перепишете во время ее работы.
б) Аналогично, не получится. В программе, которая запустится второй, RegisterWinClass вернет ошибку - класс уже зарегистрирован.
Ответ отправлен: 21.04.2004, 20:15
Отправитель: Portnov
Отвечает _vt
Здравствуйте, soflot!
1) Это не ко мне.
2) Ну что тут непонятного? Функции WinAPI обычно вызываются по соглашению stdcall (сами очищают стек) и как раз такой вид записи -_imp__Function@NumOfBytes - это показывает. Функции вида ?XXX@@XYZ это либо fastcall, либо cdecl. В общем, так компилятор обзывает либо свои библиотечные функции, либо твои - вспоминать и самому ковыряться проверять мне влом - есть еще несколько соглашений по вызову функций=)
3) Предложу еще один вариант - это твой глюк! ;-)))
4) Правда. :-P
E-Man : Life begins at 1000Mhz!
Ответ отправлен: 21.04.2004, 21:38
Отправитель: _vt
Вопрос № 5172 |
Добрый день, уважаемые эксперты.
вот тут много писали про перевод целого числа в строку, 10-ич или 16-ич, и
наоборот. А как насчёт перевода дробного числа с плавающей точкой?
желательно и в строку, и из строки. Всякие там С++ и Паскаль это умеют.
Ну, типа (4283126Fh)="65.5360031128"
----------
И ещё чуточку про Winapi: там есть что-то типа AsciiToInt и IntToAscii,
но они ограниченны "The integer to convert must be both positive and
less than 100.". Есть ли в Winapi ещё такие функции, но без ограничений?
мне кажется, что где-то были, но я не могу их найти...
и ещё: кажите, есть ли в Winapi функция поиска копии одной сторки в
другой строке, аналогичная "Pos" в Турбопаскале?
(например, Pos("абвг","аабб абвг а") =6 , т. е. строка1 найдена в
строке2 начиная с 6-го символа )
Вопрос отправлен: 21.04.2004, 16:01
Отправитель: soflot
[Следующий вопрос >>] [Список вопросов]
Отвечает St
Привет, soflot!
1) Я когда-то писал процедуры на Асме по переводу числа из регистра сопроцессора в строку и обратно (даже не помню довел я их до окончательного варианта или нет), основу для этого когда-то нашел в инете. Но так никогда они мне и не пригодились.
2) Если вы пишете программы на Асме, то очевидно не просто так, а с целью сделать программы как можно меньше и быстрее. Тогда лучше написать свой вариант таких функций и использовать их в дальнейшем в своих программах. Не такие уж это сложные функции. Например функция поиска подстроки в строке заняла у меня около 35 строк кода из которых почти четверть были метки.
St
Ответ отправлен: 22.04.2004, 17:40
Отправитель: St
Отвечает _vt
Добрый день, soflot!
1) По поводу AsciiToInt - такая функция пойдёт?
StrToInt
Converts a decimal string to an integer. The StrToLong macro differs from this function in name only.
int StrToInt(
LPCTSTR lpSrc
);
Parameters
lpSrc
Address of the null-terminated string to be converted.
Return Values
Returns the INT value of a string.
Requirements
Version 4.71 and later of Shlwapi.dll
Windows NT/2000: Requires Windows 2000 (or Windows NT 4.0 with Internet Explorer 4.0 or later).
Windows 95/98: Requires Windows 98 (or Windows 95 with Internet Explorer 4.0 or later).
Header: Declared in shlwapi.h.
Import Library: shlwapi.lib.
2) По поводу Pos - так сойдёт?
StrChr
Searches a string for the first occurrence of a character that matches the specified character. The comparison is case sensitive.
LPWSTR StrChrW(
LPCWSTR lpStart,
WCHAR wMatch
);
LPSTR StrChrA(
LPCSTR lpStart,
WORD wMatch
);
Parameters
lpStart
Address of the string to be searched.
wMatch
Character to be used for comparison.
Return Values
Returns the address of the first occurrence of the character in the string if successful, or NULL otherwise.
Remarks
The comparison assumes lpStart points to the start of a null-terminated string.
Requirements
Version 4.71 and later of Shlwapi.dll
Windows NT/2000: Requires Windows 2000 (or Windows NT 4.0 with Internet Explorer 4.0 or later).
Windows 95/98: Requires Windows 98 (or Windows 95 with Internet Explorer 4.0 or later).
Header: Declared in shlwapi.h.
Import Library: shlwapi.lib.
3) Насчет перевода чисел - используй msvcrt.dll, в которой как раз содержатся сишные функции, раз ты говоришь, что они "умеют". Описание давать не буду. :-P
E-Man : Life begins at 1000Mhz!
Ответ отправлен: 21.04.2004, 21:38
Отправитель: _vt
Отвечает Евгений Иванов
Доброе время суток, soflot!
Вот исходники библиотек для HLA.
Там всё есть!
http://superforest.narod.ru/add/hlalibsrc.rar
* EMan: -=- Любовь существует! =-=
Ответ отправлен: 23.04.2004, 00:48
Отправитель: Евгений Иванов
Вопрос № 5173 |
Здравствуйте, уважаемые эксперты!
Захотелось тут мне недавно поковыряться в своей загрузочной записи на жестком диске. Я прочитал, что она находится на стороне 0 цилиндре 0, секторе 1, но почему-то прочитать ее и сохранить в файл у меня не получается...(я читаю поверх строки ххх - при успехе она должна затереться, а в файле она остается!) В то время, как с дискеты все прекрасно читается. Потом я где-то на английских сайтах (в зоне RU про это вообще ничего нет) прочитал, что тот первый сектор, в котором должна нахожиться загрузочная запись, логический, а физически этот сектор №63. Но там я тоже инчего не нашел...
Подскажите, пожалуйста, в чем моя ошибка (кроме грамматических), и расскажите поподробнее, как происходит загрузка после тех самых первых 512 байт (или где об этом можно почитать)
На всякий пожарный: у меня XP, с помощью различных утилит я выяснил, что загрузочная запись у меня MSWIN4.1, диск разбит на 2 логических, оба фат32. В приложении - моя прога...
Приложение:
Вопрос отправлен: 21.04.2004, 17:00
Отправитель: kipelovets (kipelovets@mail.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Ayl
Доброе время суток, kipelovets!
Ну, во-первых, ты читаешь неизвестно что непонятно откуда. MBR занимает на винчестере 1 сектор 0 дорожки 0 головки. Т.е. для функции 2 прерывания 13 параметры должны быть такими:
CX = 0001h (1-й сектор 0 дорожки)
DX = 0080h (0-я головка, диск = 80h, т.е. первый жесткий диск).
С такими параметрами что-то читается.
Ответ отправлен: 21.04.2004, 18:30
Отправитель: Ayl
Отвечает Acid Burn
Приветствую Вас, kipelovets!
Ну во первых, ваше утверждение что на НАШИх сайтах ничего нет - полная фигня...!!! ВЫ ПРОСТО ПЛОХО ИСКАЛИ!!! Во вторых, Все ВИНДЫ, кроме 9х не разрешают читать загрузочный сектор жестких дисков (Запрещено понимаетели...)...
В третьих для работы с физическими устройствани лучше использовать функции BIOS'a , в частности 13 прерывание (специально созданное для работы с носителями информации (Жесткими дисками и флоппи)). В четвертых, загрузочный сектор он всегда там где вы его начали искать, т.е. сторона 0, дорожка 0, сектор 1, другого расположения быть не может вообще. тут же отвечу на следующий вопрос: Загрузочный сектор - всего лишь маленькая программ в 450 байт которая загружает с жесткого диска в оперативную память собственно загрузчик системы, Вот как раз-то он и может находиться вразных секторах на жесткаче... Еще перемещение загрузочной записи обуславливаетсяиспользованием на одном компе разных операционных систем, каждая из которых использует свою загрузочную запись... вот и приходиться разбрасывать их где попало...
А почитать, я думаню, лучше всего ПИТЕРА АБЕЛЯ...
Ответ отправлен: 21.04.2004, 22:30
Отправитель: Acid Burn
Отвечает _vt
Доброе время суток, kipelovets!
Во-первых, при вызове функции 02h прерывания 13h в регистре DL должен быть номер жесткого диска, нумерация которых начинается с 80h. А во-вторых, под ХР тебе оттуда не дадут даже прочитать информацию. Поэтому, пиши программы под XP, виндовыми компиляторами, используя WinAPI.
E-Man : Life begins at 1000Mhz!
Ответ отправлен: 21.04.2004, 21:38
Отправитель: _vt
Отвечает ASMодей
Приветствую Вас, kipelovets!
Загрузочная запись у винчестеров находится не там же где и у дискет.
У винтов по адресу 0:0:1 (cylinder:head:sector) находится сектор MBR
(это не то же самое, что Boot-сектор). В MBR по адресу 1BEh находится
таблица разделов жеского диска. Каждая запись этой таблицы занимает 16
байт (всего 4 записи). И если мне не изменяет память последние 4 байта
в этой записи содержат номер сектора, где и лежит загрузочная запись.
Ответ отправлен: 22.04.2004, 11:46
Отправитель: ASMодей
Отвечает Евгений Иванов
Добрый день, kipelovets!
http://superforest.narod.ru/add/disk.rar
* EMan: -=- Любовь существует! =-=
Ответ отправлен: 23.04.2004, 00:48
Отправитель: Евгений Иванов
Вопрос № 5174 |
Как генерировать случайные числа на Ассемблере.
Вопрос отправлен: 21.04.2004, 23:52
Отправитель: Kilgor
[Следующий вопрос >>] [Список вопросов]
Отвечает Acid Burn
Приветствую Вас, Kilgor!
Вот тебе один пример.....
Приложение:
Ответ отправлен: 22.04.2004, 14:04
Отправитель: Acid Burn
Отвечает Евгений Иванов
Доброе время суток, Kilgor!
sub ah,ah ;Установим начальное RND
int 1Ah
mov wptr [bp+Seed-dat],dx
mov wptr [bp+Seed+2-dat],cx
;Мощный генератор случайных чисел. IN -> AX-range; OUT -> AX-число 0...AX-1;
;Взят из C++;
proc Rnd ;=========================================================
push bx cx dx ax
mov bx,3
mov cx,43FDh
mov ax,wptr [bp+Seed-dat]
mov dx,wptr [bp+Seed+2-dat]
push bx ax
or bx,dx
mov bx,cx
jnz rnd_1_1
mul bx
pop ax bx
jmp rnd_1_2
rnd_1_1:
mul bx
mov cx,ax
pop ax dx
push ax
mul dx
add cx,ax
pop ax
mul bx
add dx,cx
rnd_1_2:
add ax,9EC3h
adc dx,26h
mov wptr [bp+Seed-dat],ax
mov wptr [bp+Seed+2-dat],dx
mov ax,dx
and ah,127
pop cx
cwd
idiv cx
mov ax,dx
pop dx cx bx
ret
endp
* EMan: -=- Любовь существует! =-=
Ответ отправлен: 23.04.2004, 00:49
Отправитель: Евгений Иванов
Отвечает Pawel
Добрый день, Kilgor!
Примерно вот так:
out 43h,al
in al,40h
Ответ отправлен: 24.04.2004, 12:45
Отправитель: Pawel
Вопрос № 5175 |
Всем привет.
Не хотелось беспокоить, но яндекс не помог.
Помогите ссылками или доками по поводу технологии написания графических программ, размером 64 Кб. Думаю поняли о чём я?
Заранее спасибо.
Вопрос отправлен: 22.04.2004, 13:04
Отправитель: ROTTEN (ROTTEN@intbel.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает flasher
Доброе время суток, ROTTEN!
http://www.wasm.ru/srclist.php?list=3
http://www.wasm.ru/publist.php?list=19
Ответ отправлен: 22.04.2004, 13:29
Отправитель: flasher
Отвечает ASMодей
Доброе время суток, ROTTEN!
www.enlight.ru/demo/faq
Ответ отправлен: 23.04.2004, 07:07
Отправитель: ASMодей
Отвечает Pawel
Приветствую Вас, ROTTEN!
http://www.wasm.ru/
Ответ отправлен: 24.04.2004, 12:47
Отправитель: Pawel
Вопрос № 5176 |
Есть такая задача: нужно сделать так чтобы в программе (сом - файл) был размещен код по адресу 100h, который себя выгрузить из памяти и отдаст управление остальному коду программы таким образом чтобы этот оставшийся код выполнялся с адреса 100h. Спасибо всем не равнодушным!!!
Вопрос отправлен: 22.04.2004, 22:45
Отправитель: RVL
[Следующий вопрос >>] [Список вопросов]
Отвечает Dragoon
Приветствую Вас, RVL!
То бишь, ты бы переместить свой код на смещение 100h?
Тогда вопрос: ЗАЧЕМ? Отладчик не собьешь, код не
оптимизируешь... Только если для вируса...
Ну да ладно, не наше это дело...
Вот пример кода, выполняющего нужные тебе действия.
Программа копирует себя в смещение 100h
Приложение:
Ответ отправлен: 23.04.2004, 21:32
Отправитель: Dragoon
Отвечает Ayl
Добрый день, RVL!
Ну так в чем проблема? В конце своего кода пишешь перенос нужной части проги на адрес 100h и потом делаешь jmp на адрес 100h.
P.S. Ты случайно не вирус писать собрался? Задачка что-то уж больно специфическая?
Ответ отправлен: 23.04.2004, 11:58
Отправитель: Ayl
Вопрос № 5177 |
расьти...
1) в продолжение предыдущего вопроса: а если я сам програмульку напишу и в ней будет MessageBoxA, и поставлю bpx именно на "A", он все равно ничего не делает..
ну это еще что! скачал я SIce выдраный из Driver Suite 2.7
(под XP) так теперь такой прикол, ставлю я его, перезагружаю тачку, запускаю айс, нажимаю Ctrl+d, и вроде айс вылазиет но его не видно!!, и теперь тачка сразу вешается :(
кстати как айс патчить?
кстати у меня XP SP1, может это он виновать (ну SP1 имеется ввиду)
2) теперь дальше: прочитал я штук 10 уроков от Асзелиона (иликак его там) по программированию 32Assm и подумал: я ассм начал учить совсем не для этого, мне интересно не окошки делать а например защитой ханиматься, но сколько я лит-ры видел там тока во введени говориться мол есть такая фенька, а вот книжку бы каку-ю нить (чтобы как Питер Абель было написано) про полиморфизм, про шифрование, etc...
подскажте ченить, я уже все облазил ниче не нашел...
спасибо
Вопрос отправлен: 23.04.2004, 10:09
Отправитель: очень хочу научиться
[Следующий вопрос >>] [Список вопросов]
Отвечает Acid Burn
Здравствуйте, очень хочу научиться!
Насчет програмульки ничем помочь не могу, а вот про чтиво прсвещу....
Нууууу.. я скажу так: ТЕ КНИГИ ЧТО ТЫ ПРОСИШь фактически нет (покрайней мере я не видел). Савет тебе да л....: Не найдешь ты винете книгульку про полиморфизм для скачивания, а если найдешь, то она тебя особым умом не наделит!!! В магазинах такого не купишь... Те знания которые ты требуешь приходят в "возрастом". Чтобы научиться писать крипто-проги тебе всеголишь надо пречитать по нескольку раз тот же материал, но не имеющий не какого отношения в программированию, т.е. если ты поймешь на чем основана крипограффия, то сможешь и без книг воплотить то что ты понял в реальный код любого языа программирования (если конечно же у тебя мозги в том месте и в то время). Что касается полиморфизма - - - - то я тебе так скажу: Выучись писать обычные вирусы (не полиморфные) , так документации по этой теме много, то это будет сделать легко. Апосля чего подумая программку (не вирус, а просто какойнибудь ЕХЕ-шник) которая клепает в файлы код пременожения двух дойных слов (к примеру) в разных вариантах (если подумать, то это не сложно сделать)!!! Когда соединишь выше изложенное в один код, то получишь,я дкмаю, почти уникльный полиморфный вирус..... Короче говоря полиморфия это как генерация случайных чисел - вариантов кодов много, а эффект один - случайное чило.
Ответ отправлен: 23.04.2004, 16:15
Отправитель: Acid Burn
Вопрос № 5178 |
Меня интересует, каким образом можно узнать серийный номер
винчестера под win98 на асме? Нигде не мог найти.
Вопрос отправлен: 23.04.2004, 22:52
Отправитель: Игорь
[Следующий вопрос >>] [Список вопросов]
Отвечает Foamplast
Доброе время суток, Игорь!
Для этого надо общаться с драйвером минипорта с помощью DeviceIoControl(). Смотри http://sources.ru/cpp/cpp_files.shtml. Надеюсь, с переводом на ассемблер всё будет ровно.
Ответ отправлен: 27.04.2004, 04:23
Отправитель: Foamplast
Отвечает flasher
Добрый день, Игорь!
Я точно не знаю, но не давно на форуме wasm.ru был такой топик, если есть желание, поищи там.
Ответ отправлен: 24.04.2004, 09:42
Отправитель: flasher
Отвечает Gibbel
Здравствуйте, Игорь!
Если тебя интересует "серийный номер" (дата форматирования) логического раздела, то смотри GetVolumeInformation.
Если же тебя интересует серийный номер "железки", то копайся в сторону S.M.A.R.T., но будь готов к тому, что не все жесткие диски поддерживают эту технологию, а те, которые поддерживают, могут отдавать не всю информацию.
P.S.: программирование под Windows, в большинстве случаев, не привязано к какому-либо языку. Специально для вопросов, связанных с программированием с использованием WinAPI создана соответствующая рассылка. Пожалуйста, задавайте такие вопросы туда.
Ответ отправлен: 26.04.2004, 10:25
Отправитель: Gibbel
Вопрос № 5179 |
физкульт привет!
такой вопрос возник: как можно текст получить из edit-box'а
кроме GetWindowText?, а то мне тут игрушка попалась, называется "дигер против бомбера" (хи-хи-хи), так вот там регистрацию надо чтобы она полностью была, а когда я ввожу информацию, и нажимаю "Register", совсем ничего не происходит, вот я и задумался....
спасибо заранее
Вопрос отправлен: 24.04.2004, 09:10
Отправитель: очень хочу научиться
[Следующий вопрос >>] [Список вопросов]
Отвечает Gibbel
Приветствую Вас, очень хочу научиться!
Можно еще послать туда сообщение WM_GETTEXT. А можно с помощью GetWindowLong (на сколько я помню, надо забирать первое двойное слово) получить хэндл буфера, затем получить адрес этого буфера с помощью GlobalLock.
Ответ отправлен: 26.04.2004, 10:32
Отправитель: Gibbel
Отвечает SedHg
Добрый день, очень хочу научиться!
Вот какие функции могут вызываться:
===== Если строка =====
- GetWindowTextA, GetWindowTextW
- GetDlgItemTextA, GetDlgItemTextW
===== Если число =====
- GetDlgItemIntA, GetDlgItemIntW
P.S. Проверь на чем написана программа, если на Делфи, тогда бесполезно ставить бряк на эти апишки. В 9.x можно было еще ставить , бряк на hmemcpy, если написана прога на Делфи.
Ответ отправлен: 24.04.2004, 17:11
Отправитель: SedHg
Отвечает ASMодей
Приветствую Вас, очень хочу научиться!
Вместо функции GetWindowText может использоваться прямая посылка
сообщения WM_GETTEXT.
А может это и не edit box, а какой-нибудь самодельный контрол, тогда у него
будут свои сообщения.
Ответ отправлен: 25.04.2004, 08:58
Отправитель: ASMодей
Форма отправки вопроса |
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.
(C) 2002-2003 Команда RusFAQ.ru.
Вопрос и дополнение |
Ваш вопрос:
Приложение (если необходимо):
Получить ответов:
Выбор рассылки |
Программисту Assembler (25) C / C++ (14) Perl (3) Builder / Delphi (20) Pascal (18) Basic / VBA (4) Java / JavaScript (5) PHP (11) Криптография (9) WinAPI (11) Радиоэлектроника (8) |
Пользователю Windows 95/98/Me (30) Windows NT/2000/XP (46) "Железо" (25) Поиск информации (13) |
Администратору Windows NT/2000/XP (25) Linux / Unix (8) |
Юристу Гражданское право (11) Семейное право (8) Трудовое право (10) КоАП (7) |
Отправить вопрос всем экспертам выбранной рассылки.
Проект экспертов RusFAQ.ru | Фотоальбом | Virus.RusFAQ.ru | Администрирование
Профессиональная WEB-Студия B.I.T.
http://subscribe.ru/
E-mail: ask@subscribe.ru |
Отписаться
Убрать рекламу |
В избранное | ||