Linda-chan
Жизнь этого пойнтожуйкера – это история о том, как установить Linux в двойной загрузке с Windows, убить при этом Windows, не суметь её восстановить и остаться навсегда на Linux.
Linda-chan
Жизнь этого пойнтожуйкера – это история о том, как установить Linux в двойной загрузке с Windows, убить при этом Windows, не суметь её восстановить и остаться навсегда на Linux.
Linda-chan
Рэймонд Чен делится воспоминаниями о реестре в Win16.
https://blogs.msdn.microsof.../20120521-00/?p=7573
// Да, когда-то ваши любимые «регистры Windows» были проще и опциональнее, нежели сейчас. При чём, когда они переписали реестр с нуля для Win32, в документации Win32 SDK всё равно осталось много устаревшей информации, когда описание конкретных функций говорит об одном положении дел, а обзор – о другом.
Linda-chan
Давайте погадаем на кофейной гуще!
Ошибка приложения : Инструкция по адресу "0x0125fbdb" обратилась к памяти по адресу "0x01c84d84". Требуемые данные в память не помещены из-за ошибки ввода/вывода "0x75b4b11c".
SMART у диска в полном порядке, даже в системном журнале ничего про ошибки страниц нет. И что теперь? Бежать в магазин за новым винтом? Или всё же за памятью?
Linda-chan
Наконец-то кто-то объяснил, как выковыривать сообщения, отправляемые процессами через OutputDebugString()!
https://www.codeproject.com...DebugString-capturer
Теперь бы ещё понять, почему до первого запуска сисинтерналовского DebugView вызов OutputDebugString() без подключенного отладчика приводит к исключению, а после первого запуска – нет. Ну тоесть ставим голую винду, делаем в программе OutputDebugString() – ловим исключение. Запускаем DebugView, перезагружаемся для верности, делаем в программе OutputDebugString() – исключений больше нет. Ну и хотелось бы знать, почему IsDebuggerPresent() выдаёт TRUE, если запущен DebugView, если на деле он ничего не отлаживает, а просто читает буфер.
Linda-chan
Пользователи полюбили Windows XP за проверенный временем интерфейс, который не сильно изменился с Windows 98. Также на месте осталась Панель задач и кнопка «Пуск».
Linda-chan
Ранее я жадловалась на то, что у меня winlogon.exe то и дело пиликает системным звуком, когда копируешь что-либо в буфер обмена. С нового года (вот так совпало), ситуация стала печальнее: бипы раздовались то и дело в рандомные моменты времени, и не понятно было, что их вызывает. Думала, какие-то скрипты запускаются в планировщике или там где-то в своих программах забыла убрать отладочный код. В итоге всё пришло к тому же winlogon.exe. Выяснить, что же происходит, мне не удалось, но по крайней мере я нашла способ веруть тишину в систему. Вот он:
https://gist.github.com/Lin...f8376ae03caa5447409d
REG файл устанавливает пустоту для пары системных звуков winlogon.exe. При этом делается это для текущего пользователя и для трёх системных – winlogon.exe работает од одним из них, так что я сделала так, чтобы наверняка. Да, в Windows прикольные звуки можно поставить и для всяких Local System.
Linda-chan
The proof of concept program edits keys in the HKEY_CURRENT_USER registry hive, so it must be run by the user whose life you are trying to make miserable (or by someone who has permission to make that user's life miserable).
https://blogs.msdn.microsof...0190109-00/?p=100665
Как Рэймонду Чену вштырило это самое «Miserable»!
Linda-chan
Слежка в Windows 10 одним камментом.
https://habr.com/post/401059/#comment_18029907
// В ответах, разумеется, «На благо пользователя», «Все так делают» и прочие ачотакова.
Linda-chan
В Windows 98 я вырубала панель инструментов у консоли, чтобы она выглядела как в NT (и действительно, с непривычки эффект был выдающимся). В NT же время от времени хочется поностальгировать и врубить панель инструментов. Но увы...
Linda-chan
Мало кто знает (а кто знает, тот часто забывает), что при перетаскивании файла или ещё чего из, скажем, проводника в окно какой-нибудь программы, не нужно окна двигать туда-сюда, подготавливая плацдарм, можно нажать Alt+Tab чтобы переключиться на окно этой программы.
Linda-chan
Рэймонд Чен объясняет, почему сообщения об ошибках редко сообщают о том, какая ошибка случилась.
https://blogs.msdn.microsof...0181203-00/?p=100375
Linda-chan
Решила ещё раз попробовать Private Desktops в Windows 7 и узнать, чего она там не работает. Ну, то что Win+1 и прочие цифры забиндены Проводником на прибитые на таскбар программы, при чём скопом со всеми модификаторами (Win+Ctrl+1, Win+Alt+1 etc), я выяснила в прошлый раз. Поставила более конвенционные Win+Q для первого рабочего стола (дефолтного), Win+W для второго, перезапустила программу. Жму Win+W – переключилось. Жму Win+Q – не реагирует. Не работает переключение? Запустила екзешник программы с параметром «/Switch 0» – переключилось. Вернулась на второй рабочий стол, снова жму Win+Q. Там запущена консоль, и я вдруг заметила, что эта самая Q в ней набирается. Тоесть, хоткей не работает в принципе. Короче, если в XP глобальные хоткеи работали на всех рабочих столах в пределах текущей оконной станции (кроме рабочего стола блокировки системы), то, похоже, дальше они стали заизолированы на конкретных рабочих столах. Тоесть если на рабочем столе X программа создала окно и следом зарегистрировала хоткей с его манипулятором, то сообщения WM_HOTKEY будут прилетать только если клавиши были нажаты, пока рабочий стол X был активен. А если система переключится на рабочий стол Y, то сообщения прилетать не будут. Пичалька, придётся думать, как программу обновить. Есть вариант с хуками, но я хуки зависят от разрядности процесса, в который библиотека будет внедряться, а я пока в этом не разбиралась =_=
Linda-chan
Ну и о будущем.
(Yes, I'm being unfair and ignoring backward compatibility. In my mind, as a user, if a program requires backward compatibility it's because it's being poorly maintained and is probably not evolving with the new OS releases, and I'll vote with my feet and move on to something that keeps up with the days.)
[Translation: Every application vendor who does not issue an update to their program the same day the OS is released is a lazy bum. -Raymond]
Linda-chan
А вот тут рассказывается о том, почему в Висте перестали показываться иконки Win16 программ:
https://docs.microsoft.com/.../cc462815(v=msdn.10)
Я знала, что народ любил всюду использовать Win16 DLL с расширением ICL (например, Microangelo так делал), но не знала, как система эти иконки использует. Думала, что там какие thunk'и, вызывающие Win16 функции, а оказалось, что просто некий велокод парсит блоки ресурсов и вытаскивает данные иконок, которые уже подсовывает Win32 функциям.
Linda-chan
Вспомнила я тут цитату про «криворучек из Microsoft, запихнувших PNG сырым потоком в ICO файлы», ну и озадачилась поиском информации на тему. В итоге нашла у Рэймонда Чена серию постов про иконки, в том числе и по интересующей меня теме:
https://blogs.msdn.microsof...20101018-00/?p=12513
https://blogs.msdn.microsof...20101019-00/?p=12503
https://blogs.msdn.microsof...20101021-00/?p=12483
https://blogs.msdn.microsof...20101022-00/?p=12473
Жаль, не раскрыта тема двух прозрачных цветов: просто прозрачного и инвертируемого, которым в старых программах увлекались. Да, это было давно, и всё же.
Linda-chan
Оказывается, в Windows 10 (возможно, ещё в Windows 8) провели редизайн пробной страницы печати. А то даже в Нанами она от страницы в Windows 9x отличалась только логотипом системы.
Linda-chan
Поставила, наконец, поц-рэди™ на XP. Набежало больше сотни апдейтов. Апгрейд найт медленно перешла в апгрейд дэй. Но в итоге вроде бы ничего не отвалилось. Версия на рабочем столе поменялась, а ещё IE8 научился ходить на сайт на Апаче под восемнадцатой бубунтой. Правда, SNI это его не обучило. И галочки «TLS 1.1» и «TLS 1.2» не появились в настройках IE, хотя в реестре всё прописано.
Linda-chan
Приступайте к ненависти.
The customer explained that their program is just fine with files that have spaces in their name, but their program is a utility program, and it is used by other programs and scripts. Those other programs and scripts have a Unix heritage, and Unix file names rarely have spaces in their name. Consequently, those programs and scripts tend to have poor support for files with spaces in their name.
Linda-chan
Рэймонд Чен о загадочной функции WEP в Win16 DLL.
https://blogs.msdn.microsof...ewthing/20180919-00/
Именно от этой функции произошло название раздела с болтологией в моих рассказах.
Linda-chan
Рэймонд Чен о файловых атрибутах в Windows.
https://blogs.msdn.microsof...20180830-00/?p=99615
Забавно, об атрибуте «Метка тома» я знала, но как-то не задумывалась, что его изъяли из Win32 API. Тоесть я с ним просто не сталкивалась, а его, оказывается, и не было. И про Win16 я тоже как-то запамятовала. Как же там файловые атрибуты получались? Oo