@Linda-chan

Тег windows в блоге Linda-chan

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]

https://blogs.msdn.microsof...12483#comment-868463

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.

https://blogs.msdn.microsof...20181004-00/?p=99895

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

Linda-chan

Возросшее требование Windows XP к железу при переходе от SP2 к SP3: миф или реальность? Поделитесь своими воспоминаниями!
// А то схлестнулась тут с одним икспертом в ностальгической дискуссии, захотелось послушать мнения пойнтожуйкеров.

Linda-chan

Что сейчас рекомендует использовать Microsoft для вывода хелпа в программах?
Вот, помнится, была Windows 3.xx, а потом – NT4 и Windows 95. Там был WinHelp, к которому шла подробная документация и могучий компилятор с кучей настроек и сопутствующих утилит.
Потом пришла Windows 98, и появился HTMLHelp, к которому были куски невнятной документации и компилятор, который не мог ничего. Сама Microsoft распространяла со своими прогами CHM файлы, которые нельзя сделать штатным компилятором, как бы намекая, что некоторые равнее всех.
А теперь что? Начиная с XP хелп самой системы сделан непойми как. В одной версии так, в другой – по-другому. Сами майкрософтовские проги часто тупо показывают окно, в которое встроен WebBrowser Control с контентом то ли из Инета, то ли из кэша. WinHelp и HTMLHelp методично дропается, а вместо них...
Так что вместо них?

Linda-chan

BAT файлы полны неожиданностей. Например, когда cmd путается во вложенных условиях и начинает находить знаки подстановки, где их нет. Но самое неожиданное и вызывающее ненависть – чтение BAT файлов по хожу выполнения, а не одним писом. Запускаешь такой файл, замечаешь, что есть один недочёт, но не критичный. Правишь BAT файл, а потом обнаруживаешь, что выполнение запущенного пошло кувырком из-за того, что какая-то строчка съехала!
// Интересно, Bash так же хулиганит?

Linda-chan

Казалось бы, что WinAPI уходит в прошлое. Давно уже существует огромное количество кросс-платформенных фреймфорков, Windows не только на десктопах, да и сами Microsoft в свой магазин не жалуют приложения, которые используют этого монстра.

https://habrahabr.ru/post/352096/
Казалось бы, колесо уходит в прошлое: давно уже существует огромное количество автомобилей!

Linda-chan

Дошли руки наконец доделать HTTPS в своём классе, использующем WinInet для получения данных из Инета. Разобралась почему у меня не работали флаги по игнорированию ошибок сертификатов (не туда пихала их). Вроде бы всё заработало. И тут... Делается запрос на HTTP, устанавливаются флаги для игнорирования ошибок, сервер возвращает 302 на HTTPS, но WinInet достаточно умный чтобы самостоятельно делать редирект. Он делает и возвращает ошибку сертификата. Как так? Вот же флаги! Поковырялась. Судя по всему, флаги сбрасываются при отправке нового запроса, и как их установить – не понятно, ведь всё происходит внутрях WinInet. И это что ли ручками обрабатывать?

Linda-chan

Что за мода пошла, когда инсталлеры всяких опенсорсных программ по умолчанию предлагают установить программу в папку с версией в имени? Ну типа «C:\Program Files\gimp-1.2.3.4». Десяток обновлений, и в Program Files уже свалка.

Linda-chan

Поставила GraphicsMagic, почитав перед этим инструкцию по установке в Windows. В частности там говорилось, что очень важно прописать путь к GM в PATH или в специальной переменной. Зачем? Вызвать-то можно и через полное имя файла, и даже при помощи AppPath (что более стильно, модно, молодёжно). Оказалось, если не указать в PATH путь к каталогу программы, то сама программа может не найти всякие сопутствующие библиотеки. Лежащие в одном каталоге с екзешником. Вот кем нужно быть чтобы писать так?

Linda-chan

Любой красноглазик знает, что в винде две кодировки. Чего они не знают, так того, что в винде три кодировки.

Linda-chan

Хорошо, что все эти персонажи не работают в Microsoft.
http://www.lookatme.ru/mag/...lists/208049-windows

Linda-chan

Неожиданно вспомнила, что есть моя программа Fix system time, которая писалась для того, чтобы фиксить время на одной машине, на которой оно слетало (лень было заменить батарейку) настолько капитально, что встроенный NTP клиент отказывался синхронизировать. Использует функцию NetRemoteTOD() для получения времени на удалённой машине, а потом SetSystemTime() с полученными данными. Дёшево и сердито. Так вот оказалось, что если на Линуксе есть Самба, то и с него можно брать время. Поэтому надо будет попробовать максимально костылизированный вариант.
1. На Линуксе вырубает ntpd, а вместо него ничем память не грузим.
2. Там же в кроне делаем «ntpdate -u».
3. На Windows вырубаем службу времени.
4. В планировщике заданий делаем «FixSystemTime.EXE».
И усё.

Linda-chan

Продолжаю воевать с синхронизацией времени. Зашла со стороны Линукса. ntpdate говорит, что подходящие серверы не найдены. Решила посмотреть, что у него там за параметры – вдруг лог какой покажет. Нашла параметр «-d», который выводит отладочную информацию. Смотрю, а в отладочной информации, а там ответы серверов, разница во времени, всё прекрасно. Пробую снова – не синхронизируется. Ладно, читаю дальше. Пробую таймаут – не помогает. Нашла параметр «-u», который заставляет использовать некие «unprivileged ports» на случай злого файрволла. Попробовала – всё прекрасно синхронизировалось. Теперь меня мучают вопросы: 1) какие именно порты используются в обоих случаях, 2) как обучить ntpd использовать такой же «unprivileged port», 3) не заюзать ли лучше ntpdate через cron, и 3) как заставить Windows делать то же самое?

Linda-chan

Поломалась синхронизация времени хрен знает когда. Ни с одним сервером не проходит, хотя сами сервера пингуются и там куча разных. И от системы не зависит: сломалось и в Windows, и Linux. Такое ощущение, что провайдер NTP блокирует.

Добавить пост

Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
Для форматирования текста используется Markdown.