Blog. Just Blog

Быстрый поиск

Введите фрагмент названия статьи для поиска

Обмен данными между процессами с помощью WM_COPYDATA

17.02.2018 | Категория: Образ мышления: Assembler | Автор: ManHunter

Обмен данными между процессами с помощью WM_COPYDATA

Обмен данными между процессами приложений может выполняться различными способами. Это может быть shared-память, буфер обмена, COM-объекты и другие высокоуровневые способы. Но наиболее простым и понятным способом является передача данных с использованием сообщения WM_COPYDATA. В этом случае обмен происходит через ядро системы с выделением памяти в принимающем процессе. Таким образом, например, выполняется взаимодействие с окном плеера JetAudio.

Читать статью целиком »
Просмотров: 831 | Комментариев: 1

Работа с окнами оповещений в трее на Ассемблере

03.02.2018 | Категория: Образ мышления: Assembler | Автор: ManHunter

Работа с окнами оповещений в трее на Ассемблере

Окно оповещения в системном трее, оно же System Tray Balloon Notification, - очень удобный инструмент для взаимодействия с пользователем и оповещения его о каких-либо событиях. Когда у меня возникла необходимость, в этих ваших интернетах нашлось не так много материалов по работе с такими оповещениями, а тем более на Ассемблере. Пришлось разбираться самому. Зато теперь я попробую хоть чуть-чуть восполнить этот пробел.

Читать статью целиком »
Просмотров: 820 | Комментариев: 0

Как исправить кракозябры после установки пакета локализации Windows

01.11.2017 | Категория: Software | Автор: ManHunter

Как исправить кракозябры после установки пакета локализации Windows

Недавно знакомые попросили посмотреть их ноутбук с лицензионной англоязычной Windows 7, на которую штатными средствами был установлен русский пакет локализации. Вроде бы все получилось хорошо, интерфейс действительно стал русскоязычным. Но после этого в некоторых программах вместо русских букв стали появляться так называемые "кракозябры", то есть нечитаемые символы. Как удалось решить эту проблему, я сейчас расскажу.

Читать статью целиком »
Просмотров: 2126 | Комментариев: 5

Установка языка ввода по умолчанию при входе в систему

28.09.2017 | Категория: Software | Автор: ManHunter

Установка языка ввода по умолчанию при входе в систему

Небольшая полезняшка, облегчающая работу на компьютере. Была установлена русская Windows, при установке, соответственно, выбрана русская раскладка клавиатуры. Теперь при входе в систему, когда запрашивается пароль, по умолчанию выставлена русская раскладка. А пароль-то из английских букв! Конечно, переключить раскладку займет секунду, но почему бы не сделать жизнь чуть комфортнее?

Читать статью целиком »
Просмотров: 2961 | Комментариев: 10

Ассемблер: получаем имя файла оболочки

27.09.2017 | Категория: Образ мышления: Assembler | Автор: ManHunter
В этой статье я расскажу, как можно программно получить имя файла оболочки Windows. Зачем это нужно? Например, есть программа, которая инжектит свою библиотеку в работающую копию explorer.exe и при этом подразумевает, что такой процесс в системе гарантированно должен присутствовать. В подавляющем большинстве случаев действительно все работает, никаких нареканий нет. Но стоит запустить программу под альтернативным шеллом, например, Aston Desktop, и она неизбежно падает с ошибкой, потому что explorer.exe в системе вообще не запущен. Проверки на соответствие оболочки в программе нет, и вместо корректного информирования пользователя о причинах невозможности запуска мы получаем фатальное падение. И хорошо, если не вместе с системой.

Чтобы найти процесс оболочки, сперва надо определить ее главное окно. В MSDN для этого рекомендуют воспользоваться следующим кодом:
  1.         ; Найти окно с классом "Progman"
  2.         invoke  FindWindow, szClass, NULL
  3.         ...
  4. szClass db 'Progman',0
Недостатки такого способа, надеюсь, очевидны. Ничто не мешает любому приложению создать окно с классом "Progman", а при отсутствии запущенного штатного шелла это гарантированно приведет к неверным результатам.

Читать статью целиком »
Просмотров: 1062 | Комментариев: 3

Наверх
Powered by PCL's Speckled Band Engine 0.2 RC3
© ManHunter / PCL, 2008-2019
При использовании материалов ссылка на сайт обязательна
Время генерации: 0.11 сек. / MySQL: 3 (0.0403 сек.) / Память: 4.75 Mb
Наверх