Рассылка закрыта
При закрытии подписчики были переданы в рассылку "RFpro.ru: Ассемблер? Это просто! Учимся программировать" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
RusFAQ.ru: программирование на языке Assembler
Информационный Канал Subscribe.Ru |
RusFAQ.ru: программирование на языке Assembler
Выпуск № 652
от 19.10.2003, 20:00
Администратор: Имя: Калашников О.А. URL: Информационный ресурс ICQ: 68951340 Россия, Москва |
О рассылке: Задано вопросов: 4340 Отправлено ответов: 12592 Активность: 290.1 %
|
Список экспертов, ответы которых опубликованы в данном выпуске |
Gibbel Статус: Профессиональный Общий рейтинг: 106.69 URL: Savage Metal Club - жизнь в стиле рок-н-ролл Телефон: +7 901 710 3146 [Подробней >>] |
Bob Johnson Статус: Профессиональный Общий рейтинг: 150.7 URL: Программирование [Подробней >>] |
_vt Статус: Профессиональный Общий рейтинг: 121.76 [Подробней >>] |
Евгений Иванов Статус: Профессиональный Общий рейтинг: 141.09 URL: Super Assembler Software Телефон: НСС +7 831 3107039 [Подробней >>] |
vitya Статус: Профессиональный Общий рейтинг: 108.04 [Подробней >>] |
Hangatyr Статус: Профессиональный Общий рейтинг: 111.42 [Подробней >>] |
Dark_Lord Статус: Профессиональный Общий рейтинг: 110.92 [Подробней >>] |
Maverick Статус: Профессиональный Общий рейтинг: 123.52 URL: Эхоконференция по вирмейкингу Телефон: 89039415024 (BeeLine GSM) [Подробней >>] |
dr_dolphin Статус: Доверительный Общий рейтинг: 120.61 [Подробней >>] |
Краткий перечень вопросов |
Вопрос № 4309. Уважаемые эксперты, помогите девушке разобраться с такой вот проблемой: Есть диалоговое окно, которо... (ответов: 4)
Вопрос № 4310. Уважаемые эксперты , поясните пж-ста следующее определение функции на ассемблере wsprintfA PROTO ... (ответов: 5)
Вопрос № 4311. Уважаемые эксперты! Кто получал книги от Intel! Через какое примерно время приходят книги? Что можно... (ответов: 2)
Вопрос № 4312. Добрый день! Можно ли скопировать поврежденный файл с CD диска?... (ответов: 2)
Вопрос № 4313. Здравствуйте Эксперты! Приятно, когда программа закончена и наступает более приятная стадия в плане ... (ответов: 1)
Вопрос № 4314. Приветик народ!! Помогите мне плз в моем вопросе, очень сильно надо) В общем нужна информация о печа... (ответов: 1)
Вопрос № 4315. Ну и что? Ну получилась у меня эта прыгающая от курсора мыши кнопка. А когда принес на другой комп, ... (ответов: 2)
Вопрос № 4316. Здравствуйте, эксперты. Помогите пожалуйста разобраться: когда я заменил invoke SetWindowsHookEx,WH_... (ответов: 2)
Вопрос № 4317. Здравствуйте, Bob Johnson!! Что-то опять не получается. -+-+-+-+-+-+-+-+- invoke FindResource,hIns... (ответов: 1)
Вопрос № 4318. Здравствуйте, уважаемые эксперты. У меня такой вопрос, точнее даже два: сбрасывает ли Винда страницы... (ответов: 1)
Вопрос № 4319. Уважаемые эксперты, подскажите, пожалуйста, как оптимальней преобразовать битовый массив в массив ба... (ответов: 1)
Вопрос № 4321. Уважаемые эксперты , поясните как работать с *.rc файлами в MASM , а то я ничего толкового не наш... (ответов: 4)
Вопросов: 12, ответов: 26
Вопрос № 4309 |
Уважаемые эксперты, помогите девушке разобраться с такой вот проблемой:
Есть диалоговое окно, которое нельзя искать по заголовку и имени класса !!!(так нужно). Но нужно точно опознать его и получить Hwnd. Подскажите какие есть параметры у любого окна, кроме заголовка по которым можно отличить его от других окон. (Например смещение WndProc или UserData хоть что нибудь...) Желательно 1 Api-функцией.
Какие есть способы получения Hwnd окна кроме:
1) FindWindow не подходит - (заголовок изменяется)
2) EnumWindows не подходит - (слишком медленно)
3) GetActiveWindow не подходит - (у диалогового всегда
возвращает 0)
И если не затруднит - помогите с иконкой в трее.
Нет, не подумайте ничего плохого, как создать свою я знаю.
А вот как получить Hwnd любой другой иконки, которая сидит в трее или получить по ней Hwnd главного окна программы, которая туда посадила эту иконку ?
И самое интересное - как получить всплывающую подсказку любой иконки в трее программно !!!???
И если кто-нибудь подскажет как используя RunDll32 вызывать
Api-функции, которые принимают больше 1 параметра и в которых есть LpSz (Строковая переменная) - я буду самой счастливой девушкой-программисткой на этом свете.
Целую !
Спасибо, что уделили мне внимание !!!
С уважением, Виктория.
Вопрос отправлен: 13.10.2003, 20:55
Отправитель: Виктория
[Следующий вопрос >>] [Список вопросов]
Отвечает Gibbel
Доброе время суток, Виктория!
Ну, если нельзя использовать FindWindow(), то тогда остается только один вариант - перебирать все окна функцией EnumWindows() (хоть это, по вашим утверждениям, и слишком медленно). Определить, какое именно перед вами окно можно по нескольким признакам. Например, функцией GetWindowLong() считать все неизменяющиеся параметры окна (если заранее известно, какие параметры не будут меняться в ходе работы). И/или определить приложение, создавшее это окно, функцией GetWindowModuleFileName(). Ну и т.д...
Насчет иконки в трее ничем не помогу (об этом писалось много раз, стоит только хорошенько полазить по поисковикам), а вот насчет RunDLL32 - она вызывает API специфическим образом. Вызываемая функция должна иметь следующий вид:
int __stdcall __declspec(dllexport) Function_Name
(
HWND hWnd,
HINSTANCE hInstance,
LPCSTR lpCmdLine,
INT nCmdShow
);
где hWnd - хэндл окна, порождаемого rundll32 (можно использовать в качестве owner'а своих dialog box'ов), hInstance - HINSTANCE задачи, lpCmdLine - остаток командной строки (т.е. все, что идет после rundll32 <dll_name>,<function>), этот параметр будет всегда LPCTSTR, ну и четвертый параметр аналогичен параметру nCmdShow функции WinMain. Надеюсь, теперь вам понятно, что форма передачи параметров зависит исключительно от того, как она реализована в конкретной dll.
P.S.: Для вопросов, касающихся WinAPI была создана специальная рассылка. Просьба писать туда.
Ответ отправлен: 14.10.2003, 10:31
Отправитель: Gibbel
Отвечает Bob Johnson
Здравствуйте, Виктория!
> помогите девушке разобраться с такой вот проблемой
Разреши узнать, зачем :)
> какие есть параметры у любого окна, кроме заголовка по которым можно отличить его от других окон
Размер и наличие/отсутствие детей (а также их размер, их дети, размер детей детей и т.д.). Ничего более интересного, кроме enumwindow в этой ситуации не представляется (только если известно примерное положение окна на экране). Да и не так уж это и медленно - ну переберешь ты 30 - 50 окон за раз. Но тебе разве это часто надо?
* EMan1.5: ---===*** The game we play ***===---
Ответ отправлен: 14.10.2003, 23:44
Отправитель: Bob Johnson
Отвечает _vt
Здравствуйте, Виктория!
Ну и вопросы у вас, девушка! :))
> помогите девушке разобраться с такой вот проблемой
Найдите себе подходящего парня, который разберется с подобными вопросами :(((
1) А вместо FindWindow используйте FindWindowEx - там можно указывать дочерние окна искомого окна...
2) > Нет, не подумайте ничего плохого
... :)
3) > как используя RunDll32
Никак. Такие функции вызывать таким способом вызывать нельзя, да и не нужно это...
> я буду самой счастливой девушкой-программисткой на этом свете
Девушек-программисток не бывает! :)))
*** E-Man - we are waiting for you ***
Ответ отправлен: 14.10.2003, 01:51
Отправитель: _vt
Отвечает Евгений Иванов
Приветствую Вас, Виктория!
Иконки в лотке создаёт отдельная библиотека, DLL.
Всю информацию можно получить только через эти подпрограммы в этой библиотеке.
Через запятую, а строки в "кавычках".
* EMan1.5: ---===*** Love is real! ***===---
Ответ отправлен: 15.10.2003, 00:37
Отправитель: Евгений Иванов
Вопрос № 4310 |
Уважаемые эксперты , поясните пж-ста следующее определение функции на ассемблере
wsprintfA PROTO C :DWORD,:VARARG
данное вижу впервые , что значит PROTO C ,и сколько вообще параметров у этой функции , а то в примерах по её использованию я видел и 3 и 4 и 5 , если это так то как с ней правильно обращатся....
Вопрос отправлен: 14.10.2003, 06:18
Отправитель: greg
[Следующий вопрос >>] [Список вопросов]
Отвечает vitya
Добрый день, greg!
обозначает, что конвенция вызова, как у функции C. Параметров может быть от 2 и больше. Первый параметр это буффер куда формируется строка, второй параметр это строка указывающая форматирующую строку, третий и далее параметры указывают параметры, которые должны будут быть записаны в выходной буффер. Да, функция расчитана только на юникод.
Для описания смотриs sprintf в любом хелпе по C/C++
Ответ отправлен: 14.10.2003, 09:24
Отправитель: vitya
Отвечает Hangatyr
Доброе время суток, greg!
"PROTO C" означает, что используется C calling convention - _cdecl (в большинстве других API - Pascal calling convention), т.е. после вызова необходимо будет самому очистить стек. А параметров может быть один, а может и несколько - это уж тебе решать.
Ответ отправлен: 14.10.2003, 06:50
Отправитель: Hangatyr
Отвечает Bob Johnson
Добрый день, greg!
У этой функции неопределенное число параметров. Минимум - два, возможно сколько угодно. Количество параметров определяется тем, что ты посылаешь в строке "формат". Так же определяется и их тип. Из-за этого тип вызова функции - cdecl (т.е. тот, кто вызвал и очищает стек). Так сделано потому, что только в том месте, где вызвана эта функция точно известно, сколько аргументов ей было передано. Сама же функция может только предполагать о наличии стольки-то аргументов (по строке формата), и если она вызвана неверно (т.е. указано одно число параметров, на самом же деле - другое), то такой подход позволяет вернуть стек в правильное состояние все равно.
* EMan1.5: ---===*** The game we play ***===---
Ответ отправлен: 14.10.2003, 23:44
Отправитель: Bob Johnson
Отвечает Dark_Lord
Здравствуйте, greg!
c:dword это количество параметров, VARARG значит неограничено параметров, a PROTO это определение процедуры для использования её макросом invoke!
Ответ отправлен: 14.10.2003, 18:04
Отправитель: Dark_Lord
Отвечает Евгений Иванов
Приветствую Вас, greg!
PROTO - это значит - описывается прототип подпрограммы.
С - используется вызов и передача параметров с правилами языка C.
Дальше:
первый параметр - это 4 байта.
Второй параметр говорит, что дальше могут следовать много параметров.
По сути их число передаётся в первом параметре....
* EMan1.5: ---===*** Love is real! ***===---
Ответ отправлен: 15.10.2003, 00:37
Отправитель: Евгений Иванов
Вопрос № 4311 |
Уважаемые эксперты!
Кто получал книги от Intel!
Через какое примерно время приходят книги?
Что можно указать в разделе company??
Зачем это нужно Intel??? Ведь, как я понял они достаются нахаляву!
Напишите, plz!
В рассылку отправлять необязательно...
Вопрос отправлен: 14.10.2003, 10:14
Отправитель: Aleksey (Aleksey@visits.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Maverick
Приветствую Вас, Aleksey!
1. Я.
2. В зависимости от наличия книг у них. Были случаи, что по году ждали. Мне через 2 недели пришли с извинениями за задержку.
3.Русский дом селенга. Я вообще МММ ИНвест написал.
4.Спроси у интел. Я там не работаю :)
5. Написал.
6. Отправлю, мож кому еще надо.
http://developer.intel.com/design/pentium4/manuals/245471.htm
Ответ отправлен: 16.10.2003, 05:15
Отправитель: Maverick
Отвечает Евгений Иванов
Доброе время суток, Aleksey!
Я получил!
Две недели!
Я вообще думаю, что они присланы не из Америки, а из их офиса в нашем городе Нижнем Новгороде...
Но не это важно, а главное, что книги у меня!
Да что хочешь! Pupkin ltd.
Мой друг говорит - реклама. И ещё ты становишься потенциальным покупателем их процессоров и т.п.
Я так не думаю, хотя это так (но это лишь часть истины). :-)
Ага, нахаляву! Хотя стоят около 500 руб.
Приезжает курьер и молча отдаёт тебе их - у него нет эмоций, это всего лишь его работа и ему она уже надоела... :)
Ему заплатили за эту работу - вот он и развозит всякую макулатуру разным...
Так что не стесняйся и заказывай!
Корпорация платит!
* EMan1.5: ---===*** Love is real! ***===---
Ответ отправлен: 15.10.2003, 00:37
Отправитель: Евгений Иванов
Вопрос № 4312 |
Добрый день!
Можно ли скопировать поврежденный файл с CD диска?
Вопрос отправлен: 14.10.2003, 10:31
Отправитель: Alex
[Следующий вопрос >>] [Список вопросов]
Отвечает dr_dolphin
Добрый день, Alex!
Воспользуйся программой CDCheck...
Она это позволяет делать...
Пока !
Ответ отправлен: 14.10.2003, 10:54
Отправитель: dr_dolphin
Отвечает Евгений Иванов
Добрый день, Alex!
ISOBuster поможет.
* EMan1.5: ---===*** Love is real! ***===---
Ответ отправлен: 15.10.2003, 00:37
Отправитель: Евгений Иванов
Вопрос № 4313 |
Здравствуйте Эксперты!
Приятно, когда программа закончена и наступает более приятная стадия в плане фантазии - её защита.
В этом плане у меня к Вам пару вопросов, которые в принципе сводятся к одному - как затруднить исследование кода?
Писал на Delphi.
1. Какой принцип защиты выбрать?
Я пока остановился на привязке программы к: биосу (дате, версии), железу(номер винта, ...).
Из полученной строки генерирую номер, в ответ на который нужно ввести код регистрации, допустим какой-нибудь CRC номера.
2. Куда засунуть генерацию номера и проверку кода? Где тяжелей трассировать?
Можно поток создать, можно в какой нибудь VCL засунуть типа AnimatedImage из RX,
где код постоянно будет прыгать на перерисовку изображений (хотя тут я сомневаюсь. Вообще если
трассировать какой-нибудь Onclick и будет где-то таймер включен, то мы перелетим на таймера обработчик?).
3. Как запутать DeDe (классная программа!)?
Один хер он код покажет, есть ли вариант его ввести в заблуждение?
4. Есть ещё одна мысль у меня - допустим в ответном коде регистрации предусмотреть кроме CRC номера и адрес процедуры проверки.
и потом просто:
procedure StartVerify(kod: String);
var
offsetProc: Dword;
begin
offsetProc:=GetProcAddres(kod);
try
asm
mov esi, offsetProc
call esi
end; // Кстати, как будет выглядеть вызов процедуры на Delphi?
exception
end;
end;
Если что не то, то улетим хрен знает куда.
Но всё равно это что-то не то кажется.
Plees, посоветуйте как оригинальней сделать. Не слишком замудренное, но что бы более-менее соображающим
в асме пропало желание копаться в коде.
Спасибо за любой ответ.
С ув. Игорь
P.S. Извините за повтор кому пришёл, отправляю в два форума.
Вопрос отправлен: 14.10.2003, 15:17
Отправитель: Игорь (firemen01@ukr.net)
[Следующий вопрос >>] [Список вопросов]
Отвечает Евгений Иванов
Здравствуйте, Игорь!
Надо использовать открытый ключ - надёжнее всего!
* EMan1.5: ---===*** Love is real! ***===---
Ответ отправлен: 15.10.2003, 00:37
Отправитель: Евгений Иванов
Вопрос № 4314 |
Приветик народ!!
Помогите мне плз в моем вопросе, очень сильно надо)
В общем нужна информация о печати на принтере текста,графики и таблиц, под Win на ASM'e.
Кто чем сможет помогите.
Благодарю!
ЗЫ к MSDN'у не отсылать у меня его все равно нет и нет возможности его достать да и английским слабовато-(
Вопрос отправлен: 14.10.2003, 18:39
Отправитель: Agny (agny@mail.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает dr_dolphin
Приветствую Вас, Agny!
>Приветик народ!!
>Помогите мне плз в моем вопросе, очень сильно надо)
>В общем нужна информация о печати на принтере >текста,графики и таблиц, под Win на ASM'e.
>Кто чем сможет помогите.
>Благодарю!
Вам скорее всего нужно пользоваться возможностями OLE/COM, таких приложений как MS Word, MS Excel
Их интерфейс вроде документирован, да и установлены они везде. А ручками это все писать, да еще и на ассемблере...
Зачем велосипед изобретать. Это не продуктивно IMHO...
До встречи !
>ЗЫ к MSDN'у не отсылать у меня его все равно нет и нет >возможности его достать да и английским слабовато-(
Ответ отправлен: 15.10.2003, 07:40
Отправитель: dr_dolphin
Вопрос № 4315 |
Ну и что? Ну получилась у меня эта прыгающая от курсора мыши кнопка. А когда принес на другой комп, то кнопка уже не прыгает (Хоть все и грузится) и кернел32.длл ошибка.. :((
Вопрос отправлен: 14.10.2003, 19:28
Отправитель: Ramala
[Следующий вопрос >>] [Список вопросов]
Отвечает Bob Johnson
Здравствуйте, Ramala!
Ну и что? А ты бы код приложил...
* EMan1.5: ---===*** The game we play ***===---
Ответ отправлен: 14.10.2003, 23:46
Отправитель: Bob Johnson
Отвечает Евгений Иванов
Приветствую Вас, Ramala!
Другая система: 98 против NT или наоборот!
* EMan1.5: ---===*** Love is real! ***===---
Ответ отправлен: 15.10.2003, 00:38
Отправитель: Евгений Иванов
Вопрос № 4316 |
Здравствуйте, эксперты.
Помогите пожалуйста разобраться:
когда я заменил invoke SetWindowsHookEx,WH_KEYBOARD,... на invoke SetWindowsHookEx,WH_JOURNALRECORD,..., то программа стала отрубаться при первом же вызове API (в смысле предлагает "послать отчет Microsoft"). В чем дело?
Спасибо.
Вопрос отправлен: 14.10.2003, 21:22
Отправитель: YuriS
[Следующий вопрос >>] [Список вопросов]
Отвечает dr_dolphin
Добрый день, YuriS!
Скорее всего дело в том, что hook , который имеет параметр
WH_JOURNALRECORD, является глобальным и callback процедура обработки этого hook'а должна быть в библиотеке...
Вот что по этому поводу сказано в MSDN:
The global hooks are a shared resource, and installing one affects all applications in the same desktop as the calling thread. All global hook functions must be in libraries.
Надеюсь помог, пока !
Ответ отправлен: 15.10.2003, 07:40
Отправитель: dr_dolphin
Отвечает Bob Johnson
Приветствую Вас, YuriS!
У них разные процедуры обработки хуков - различий достаточно много, в частности WH_JR передается указатель на структуру, а WH_KB - нет. В остальном - не знаю, это очень зависит от кода твоей программы.
* EMan1.5: ---===*** The game we play ***===---
Ответ отправлен: 14.10.2003, 23:47
Отправитель: Bob Johnson
Вопрос № 4317 |
Здравствуйте, Bob Johnson!!
Что-то опять не получается.
-+-+-+-+-+-+-+-+-
invoke FindResource,hInstance,6660,RT_RCDATA
invoke LoadResource,hInstance,eax
invoke GlobalLock,eax
mov TVar,eax
invoke CreateFile,offset MsgB,GENERIC_READ or GENERIC_WRITE,FILE_SHARE_WRITE,NULL,OPEN_ALWAYS,FILE_ATTRIBUTE_ARCHIVE,NULL
mov fHandle,eax
invoke WriteFile,fHandle,TVar,sizeof TVar,ADDR SizeReadWrite,NULL
invoke CloseHandle,fHandle
invoke GlobalUnlock,TVar
-+-+-+-+-+-+-+-+-
Выходящий файл получается размером в 4 байта, когда вместо sizeof TVar пишу 2560 (это размер программы находящейся в ресурсах) получается не работоспособный файл кторый в свойствах выглядит как DOS-программа. (закладки: экран, шрифт, память и т.п.) Не пойму в чём дело, может функцию какую не правильно использую?
С уважением,
Drahus.
Вопрос отправлен: 14.10.2003, 21:29
Отправитель: Drahus (drahus@yandex.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Bob Johnson
Приветствую Вас, Drahus!
Ну понятно - sizeof выдает тебе размер переменной TVar - 4 байта. Вообще же это несколько странно, каким это образом ты пытался определить размер ресурса...
Далее, видимо я тебе наврал на счет GlobalLock - предполагаю, что не стал читать msdn подробно, увидел название функций и сказал тебе. Точнее же там написано: не вызывайте функций GlobalLock или GlobalFree :(). Нужно же вызывать LockResource.
А чтобы узнать размер ресурса нужна функция SizeofResource.
В общем, скорее всего не работает программа потому, что вызываешь ты GlobalLock. Измени на LockResource (ну, добавь SizeofResource) и все должно пойти...
* EMan1.5: ---===*** The game we play ***===---
Ответ отправлен: 14.10.2003, 22:20
Отправитель: Bob Johnson
Вопрос № 4318 |
Здравствуйте, уважаемые эксперты.
У меня такой вопрос, точнее даже два: сбрасывает ли Винда страницы стека, текущего процесса, в своп, если ей это необходимо? И второй вопрос, в каком кольце выполняется SEH текущего процесса (на NT платформе вроде в Ring3)?
Спасибо за ответы.
Вопрос отправлен: 14.10.2003, 22:21
Отправитель: Alex
[Следующий вопрос >>] [Список вопросов]
Отвечает Bob Johnson
Приветствую Вас, Alex!
1. А почему нет? Стек - это обычная память. Предполагаю, что если поток где-то там заснет (т.е. не будет пользоваться стеком), то он будет выгружен в своп (если это необходимо).
2. В 3-м конечно, иначе это был бы самый простой способ попасть на ring0.
* EMan1.5: ---===*** The game we play ***===---
Ответ отправлен: 15.10.2003, 00:57
Отправитель: Bob Johnson
Вопрос № 4319 |
Уважаемые эксперты,
подскажите, пожалуйста, как оптимальней преобразовать битовый массив в массив байт, чтобы каждым N-битам (где N=1,2,4) соответствовал 1 байт.
Заранее благодарен.
Ильдар.
Вопрос отправлен: 15.10.2003, 07:47
Отправитель: Ildar
[Следующий вопрос >>] [Список вопросов]
Отвечает Евгений Иванов
Добрый день, Ildar!
Сдвигами, как же ещё!
mov esi,offset in
mov edi,offset out
mov ecx, len_in
m1:
mov al,[esi]
mov ah,al
and al,0Fh
stosb
shr eax, 8+4
and al,0Fh
inc esi
stosb
dec ecx
jnz m1
Счастливо! (Наталья, не вешай нос, всё будет в порядке!)
* EMan1.5: ---===*** Love is real! ***===---
Ответ отправлен: 15.10.2003, 16:37
Отправитель: Евгений Иванов
Вопрос № 4321 |
Уважаемые эксперты , поясните как работать с *.rc файлами в MASM , а то я ничего толкового не нашел по синтаксису команд при формировании таких файлов, к примеру как описать в таком ресурсном файле иконку и с какими параметрами и главное чем его дальше обрабатывать, заранее благодарен......
Вопрос отправлен: 15.10.2003, 19:55
Отправитель: greg
[Следующий вопрос >>] [Список вопросов]
Отвечает Hangatyr
Доброе время суток, greg!
Ну, иконку можно описать так:
2000 ICON DISCARDABLE someicon.ico
Но что-нибудь более значительное вручную создать довольно трудно - лучше воспользова%
Ответ отправлен: 15.10.2003, 21:35
Отправитель: Hangatyr
Отвечает Bob Johnson
Доброе время суток, greg!
Обрабатывать его надо компилятором ресурсов. Можно, например, brc.
Писать следует так:
идентификатор тип имя_файла.
Идентификатор - строка или число, которое идентифицирует ресурс.
Тип - тип ресурса (для иконки - ICON).
Пример:
1 ICON Icon1.ico
2 ICON Icon2.ico
* EMan1.5: ---===*** The game we play ***===---
Ответ отправлен: 17.10.2003, 21:54
Отправитель: Bob Johnson
Отвечает _vt
Добрый день, greg!
Работа с *.rc в MASM ничем не отличается от работы с ними в Visual C++... Создать *.res удобнее в VC...
Полное описание синтаксиса есть в Win32 SDK, который есть в Delphi/Builder'е... Пример с иконкой:
Создаешь resource.rc
#define IDI_MYICON 0x101
IDI_MYICON ICON "icon.ico"
Потом компилируешь
rc /r resource.rcи получается resource.res...
В самой программе должно быть что-то типа
IDI_MYICON equ 101hТогда в ней можно обращаться к иконке по идентификатору...
Прилинковать к программе ресурс так:
link /subsystem:windows program.obj resource.res*** E-Man - we are waiting for you ***
Ответ отправлен: 15.10.2003, 21:27
Отправитель: _vt
Отвечает Евгений Иванов
Здравствуйте, greg!
MyIcon1 ICON "c:winicon1.ico"
Описание есть в справке для редактора ресурсов (в Borland есть).
* EMan1.5: ---===*** Love is real! ***===---
Ответ отправлен: 16.10.2003, 04:14
Отправитель: Евгений Иванов
Форма отправки вопроса |
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.
(C) 2002-2003 Команда RusFAQ.ru.
Вопрос и дополнение |
Ваш вопрос:
Приложение (если необходимо):
Получить ответов:
Выбор рассылки |
Программисту Assembler (29) C / C++ (31) Perl (6) Builder / Delphi (22) Pascal (23) Basic / VBA (7) Java / JavaScript (8) PHP (11) Криптография (8) WinAPI (15) |
Пользователю Windows 95/98/Me (51) Windows NT/2000/XP (62) "Железо" (35) Поиск информации (25) |
Администратору Windows NT/2000/XP (37) Linux / Unix (14) |
Юристу Гражданское право (10) Семейное право (7) Трудовое право (7) КоАП (7) |
Отправить вопрос всем экспертам выбранной рассылки.
Проект экспертов RusFAQ.ru | Фотоальбом | Virus.RusFAQ.ru | Администрирование
Профессиональная WEB-Студия B.I.T.
http://subscribe.ru/
E-mail: ask@subscribe.ru |
Отписаться
Убрать рекламу |
В избранное | ||