Вопрос № 56631: Хм. Просмотрев вопрос №56560 у меня возник свой - можно ли в качестве заставки рабочего стола использовать не файл, лежащий на диске - а какую-нить bmp-шку, вшитую в ресурсный файл программы?...Вопрос № 56675: Здравствуйте уважаемые эксперты.
Делал программу что бы она выводила 3 символ в окне чё-то "Не туда обратилась".Гляньте чё не так.
Я на вас надеюсь....Вопрос № 56682: Здравствуйте.Спасибо mix_mix за ответ, но я ничего не понял! Обьясните поподробне пожалуста. Есть прога :(см. приложение), есть MASM32, при компиляции MASM пишет fatal error a1000:cannot file: masm32 include windows.inc или fatal error a1000:canno...Вопрос № 56698: Здравствуйте ! Как можно узнать размер файла, не используя функцию поиска ?...Вопрос
№ 56699: Здравствуйте ! Не подскажете, как открыть найденный файл(функцией 4еh) ?...
Вопрос № 56.631
Хм. Просмотрев вопрос №56560 у меня возник свой - можно ли в качестве заставки рабочего стола использовать не файл, лежащий на диске - а какую-нить bmp-шку, вшитую в ресурсный файл программы?
Отправлен: 25.09.2006, 11:36
Вопрос задал: Pinkbyte (статус: 1-ый класс)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: n0name
Здравствуйте, Pinkbyte!
Скорее всего нельзя, или можно, но недокументированными способами.
Как explorer узнает какие сейчас обои после перезагрузки компьютера. А что вам мешает сохранить bmp-шку на диск?
Ответ отправил: n0name (статус: 6-ой класс)
Ответ отправлен: 25.09.2006, 13:02 Оценка за ответ: 3 Комментарий оценки: В принципе ничего. Но хотелось бы, чтобы это действие нельзя было просто отследить(хочу над другом приколоцца! :)), а юзать для этого API-Hooking не хочецца. Вообще-то XP насколько я знаю автоматически копирует bmp при установке ее в качестве обоев рабочего стола в папку пользователя... Или я не прав?
Вопрос № 56.675
Здравствуйте уважаемые эксперты.
Делал программу что бы она выводила 3 символ в окне чё-то "Не туда обратилась".Гляньте чё не так.
Я на вас надеюсь.
Приложение:
Отправлен: 25.09.2006, 18:39
Вопрос задал: ENS (статус: 2-ой класс)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: n0name
Здравствуйте, ENS!
Вместо
mov eax,[pMemory]
mov edx,[eax+3]
надо просто
mov eax,pMemory
mov edx,[eax+3]
Это в fasm'e для обращения к значению переменной нужно заключать её в [].
Ответ отправил: n0name (статус: 6-ой класс)
Ответ отправлен: 25.09.2006, 19:06 Оценка за ответ: 5
Вопрос № 56.682
Здравствуйте.Спасибо mix_mix за ответ, но я ничего не понял! Обьясните поподробне пожалуста. Есть прога :(см. приложение), есть MASM32, при компиляции MASM пишет fatal error a1000:cannot file: masm32 include windows.inc или fatal error a1000:cannot file: masm32 include user32.inc .Как я понял они должны находится в асме но их там нет (не в масм32, не в масм61.
Приложение:
Отправлен: 25.09.2006, 20:17
Вопрос задал: Maslin (статус: Посетитель)
Всего ответов: 3 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: ENS
Здравствуйте, Maslin!
В программе ошибок нет. Если МАСМ пишет что файлы не найдены - значит это так.
Эти файлы либо где то ещё либо их вообще нет. Если их нет, то не переживайТЕ.
Напиши,сообщи свой Е-мэйл пошлю тебе эти файлы, вставишь куда надо и всё.
--------- Учение - свет!
Ответ отправил: ENS (статус: 2-ой класс)
Ответ отправлен: 25.09.2006, 20:31 Оценка за ответ: 5 Комментарий оценки: не хочу светить мыло
Отвечает: mix_mix
Здравствуйте, Maslin!
Папка masm32 должна находится в корне диска, т.к. первый слеш "" обозначает корневую папку.
Проверьте наличие подключаемых inc и lib файлов. Если таких не обнаруживается, стучите сюда, пошлем.
Также скорее всего Вы писали Вашу прогу в каком-либо IDE, а не, например, в блокноте. Следовательно, IDE (интерактивная среда разработки) может быть неравильно настроена, попробуйте ассемблировать и линковать вручную. Положим, ваша папка masm32 находится в корне диска Си, а asm файл находится в этой же папке masm32. Тогда запускаете cmd.exe и пишете следующее:
C:
cd masm32in
ml /c /coff masm32Example.asm
link /subsystem:windows Example.obj
masm32Example
Должно заработать.
Удачи!
Ответ отправил: mix_mix (статус: 7-ой класс)
Ответ отправлен: 25.09.2006, 22:26 Оценка за ответ: 3 Комментарий оценки: читайте вопросы до конца! бIDE не пользуюсь.-пишу как раз в блокноте!:-):-)
Отвечает: Луковкин Николай Иванович
Здравствуйте, Maslin!
Скорее всего у Вас MASM32 или неправильно настроен или настроен не до конца!
Вашу программу я набрал в своем MASM и все файлы получились!
При запуске полученного ехе.файла выходит окно Windows с текстом: Assembler language for Windows is a fable!
Могу порекомендовать справочник по ассемблеру автора А.Крупник
Он очень хорошо описывает программирование ассемблера для Windows.
В этом же справочнике он подробно объясняет как правильно настроить для написания программ компилятор MASM и прилагает для этого свой файл, который можно скачать на сайте http://www.piter.com (в этом файле находится оболочка FAR, компилятор MASM, отладчик OllyDBG, для того чтобы Вы после написания программы изучили ее и исследовали в отладчике - иначе если не знаешь работу отладчика, ассемблер очень тяжело выучить - это практика!
--------- Главным критерием эффективности того или иного пути может служить лишь то, достиг или нет крекер конечного результата!!!
Ответ отправил: Луковкин Николай Иванович (статус: 1-ый класс)
Ответ отправлен: 26.09.2006, 22:01 Оценка за ответ: 5 Комментарий оценки: У меня всё это есть(кроме книги)кто-бы оллей научил пользоваться,там всё на инглише:(
Вопрос № 56.698
Здравствуйте ! Как можно узнать размер файла, не используя функцию поиска ?
Отправлен: 25.09.2006, 22:57
Вопрос задал: Whiteman (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: Pinkbyte
Здравствуйте, Whiteman!
DWORD GetFileSize(
HANDLE hFile, // handle of file to get size of
LPDWORD lpFileSizeHigh // address of high-order word for file size
);
Итого нам нужно - хэндл открытого файла 1 штука и ссылка на переменную, если предполагается что размер файла > 4 гигабайт
Вот и усё...
--------- Нейтральность - высшее достижение сознания
Ответ отправил: Pinkbyte (статус: 1-ый класс)
Ответ отправлен: 26.09.2006, 00:32
Отвечает: ENS
Здравствуйте, Whiteman! Размер файла можно узнать используя, функцию 42h(Перемещение указателя)
обнуляем CX и DX, AL ставим равное 2.В итоге нам будет возвращен размер файла в байтах в
CX:DX
Приложение:
--------- Учение - свет!
Ответ отправил: ENS (статус: 2-ой класс)
Ответ отправлен: 26.09.2006, 20:02
Вопрос № 56.699
Здравствуйте ! Не подскажете, как открыть найденный файл(функцией 4еh) ?
Отправлен: 25.09.2006, 22:58
Вопрос задал: Whiteman (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: ENS
Здравствуйте, Whiteman!Открывается файл обычно функцией 3Dh.
В DX надо помещать имя файла.А после поиска файла имя у нас в DTA(80h) по смещению 1Eh.
Приложение:
--------- Учение - свет!
Ответ отправил: ENS (статус: 2-ой класс)
Ответ отправлен: 26.09.2006, 20:02