У MessageBox() есть ещё один прикольный флаг – MB_SYSTEMMODAL. В Win32 он ничего заметного не делает (документация говорит, что окно сообщения появляется поверх всех окон, что эквивалентно MB_TOPMOST), зато в Win16 показывает окно сообщения, которое блокирует всю систему пока не нажмёшь на кнопку. При этом, если не указать флаг иконки или указать MB_ICONSTOP, то показывается простейшее окно фиксированного размера, без заголовка (текст заголовка пишется отдельной строкой), с текстом шрифтом System и кнопкой. Такое окно рассчитано на ситуации, когда системные ресурсы закончились, система не может даже окно нормально нарисовать, но сообщение показать всё равно нужно, и делается это минимальными средствами. Если же указать другую иконку, то показывается обычное окно сообщения, только с одинарным бордюрчиком и без возможности окно это перетаскивать. Система при этом всё равно блокируется. Ещё одна интересная особенность заключается в том, что в Win9x приложения Win16 могут показывать такое окно с полной блокировкой системы, а Win32 приложения – нет. В NT даже Win16 приложения не могут заблокировать систему.
Тег windows в блоге Linda-chan
В Windows есть функция MessageBox() сотоварищи, которая выводит окно с сообщением, иконкой и набором кнопок для реакции пользователя. Для выбора иконки есть следующие флаги:
• MB_ICONHAND – выводит красную фигню с крестиком, типа, сообщение об ошибке.
• MB_ICONQUESTION – выводит фигню с вопросительным знаком.
• MB_ICONEXCLAMATION – выводит фигню с восклицательным знаком, типа, предупреждение.
• MB_ICONASTERISK – выводит фигню с буквой «i», информация.
В глаза бросается некое несоответствие названия констант тому, что они показывают. Более того, у MB_ICONHAND есть вносящий ясность псевдоним – MB_ICONSTOP. Что такое? Почему так? Дело в том, что названия констант говорят о том, что показывало окно сообщения в самой первой версии Windows. Тогда вместо креста при ошибке показывалась поднятая рука, а вместо буквы «i» – «*». В Windows 3.x руку посчитали неинтересной и стали показывать знак «Движение без остановки запрещено», и у константы появился «псевдоним», отразивший новые реалии. Та же фигня и со звёздочкой: появилась буква «i», и константа начала называться MB_ICONINFORMATION. В Windows 9x и NT4 иконки снова обновили, вместо знака появился крест, и авторы решили перейти от формы к содержанию, добавив псевдонимы MB_ICONERROR и MB_ICONWARNING. Получилась занятная капсула времени.
2018-10-18 – non win 10 1803 are not "most systems" anymore (martin) – Diff vs. current • Diff vs. previous
Ахаха, сама себя обманула. NT4 знает о подписи, просто я забыла, что смотрю свойства билда без подписи (идёт работа, так сказать). Для других файлов Проводник показывает подпись.
NT4 Server с последним сервиспаком ничего не знает о цифровой подписи екзешников. Как Windows 95. В этом отношении Windows 98 технологичнее.
Есть такая функция FindFirstFile(), которой передаём имя файла или путь с масками. В ответ получаем набор найденных файлов, точнее, данные о первом найденном файле и манипулятор, которым можно перечислить остальные элементы набора. Забавное случается, если попытаться передать функции имя каталога с слэшем на конце. Функция прекрасно что-то находит, возвращает манипулятор и данные, только вот в данных – пустота, всё по нулям. Что именно она там находит, я так и не выяснила. GetLastError() возвращает ERROR_FILE_NOT_FOUND, FindNextFile() говорит, что файлов не осталось.
Берём винт с NTFS, витиеватой структурой каталогов, симлинками, владельцем файлов с другой системы, правами на доступ только для него и местами ещё с кое-какими правами. Пытаемся привести всё это к какой-то единой системе с владельцем – локальным пользователем и правами для него и ещё пары учёток. Фрустрируем несколько дней.
Есть такие функции как GetOpenFileName() и GetSaveFileName(), которые выводят диалоги открытия и сохранения файла. Они могут показывать диалог в новом стиле и диалог в старом стиле (как в Windows 3.xx). При чём флаг OFN_EXPLORER прямо не влияет на выбор вида диалога, и в обычных ситуациях всегда показывается новый диалог независимо от этого флага. Чтобы показать старый диалог, нужно не только не указать этот флаг, но и подкинуть функции хук, который будет всегда возвращать FALSE (тоесть сигнализировать, что сообщение должна обработать библиотека, а не код хука). Это присказка. Сказка в том, что в Windows 2000 и Windows XP новым был диалог с панелькой неких предопределённых папок слева (которые правились через TweakUI). В Windows Vista диалог переделали, и в левую часть впилили дерево каталогов, а сверху убрали раскрывающийся список с деревом каталогов, впилив вместо него хитрый текстбокс с путём к текущему каталогу. И все нормально написанные программы в новой системе тут же начали показывать новый диалог, если, конечно не использовали хитрые шаблоны. Но я заметила, что были программы, которые выводили диалог, выглядящий как в Windows XP. Экспериментируя, я выяснила, что флаг OFN_EX_NOPLACESBAR, который в предыдущих версиях системы отрубал сайдбар слева и превращал диалог в такой, какой был в Windows 9x или NT4. В Windows Vista и выше оно работает примерно так же, и диалог даже начинает выглядеть примерно так же. Но это всё равно не то. Оказалось, что для того чтобы получить диалог как в XP. нужно провернуть тот же трюк, как со старым диалогом: указываем флаг OFN_EXPLORER и подкидываем такой же хук (что характерно, прототип у старого и нового хука одинаковый, но оба задокументированы отдельно друг от друга). И получаем немного ностальгии.
Если создать пустой BAT файл и попытаться его запустить, системный загрузчик скажет, что оный файл не является приложением Win32. Как-то раньше не приходило в голову создавать пустые BAT файлы и запускать их.
Вставила винт в Минт. Прога для управления дисками (не GParted) говорит: «One bad sector». Вставила диск в Windows 7, CrystalDiskInfo говорит, что всё в порядке, диск чист, как слеза младенца. Это как?
When the matching number of RegCloseKey calls was made, the registry was written back to disk and unloaded from memory. (Yes, this means that if a program leaked a registry key, then the registry never got unloaded. Welcome to 16-bit Windows, which trusted software developers not to be stupid.)
Открываю «Этот компьютер» на десятке, жму «Программы и компоненты» (или как оно там), появляется метроапплет, который долго думает в медленно выдаёт список установленных программ. Нахожу нужную, тыкаю. Кнопки «Удалить» и «Изменить» заблокированы. Жму Win+R, пишу «control.exe», нахожу «Программы и компоненты». Компактный список программ появляется почти мгновенно. Тыкаю в нужную программу правой кнопкой мыши – в меню только пункт «Изменить». Жму его, в сетапе выбираю «Удалить», программа удаляется. Твою ж мать. Ситуация прямо как своё время в XP: лучший способ совладать с тормозящим штатным апплетом – взять аналог из предыдущей версии винды!
Очередной уверенный пользователь интернета разносит Windows 11.
https://medium.com/pcmag-ac...dows-11-590199b2c0ca
But if leaked screenshots are to be believed, Windows 11 may be a no for me.
Офуенчик, конечно, вердикт по скриншотам. Кроме него автор делится своим видением инноваций, которые вдохнут жизнь в заветрившуюся тушку винды. А именно:
So what would excite me in a Windows update? How about never seeing a blue screen of death again? Or getting rid of those wildly inconsistent legacy control-panel dialogs? Getting startup time and battery life on a Surface Go equal to that of an iPad? Dare I dream that the Registry goes away, along with all the clutter it causes? Or having a default Mail client that actually works? For all we know, Microsoft is working on those issues just as hard as it’s working on rounded corners. We can only hope.
Странно, что убиратель бсодов и реестров не потребовал так же избавиться, наконец, от «MS-DOS».
В камментах – собрание обиженных маководов, доказывающих, что макос – более лучший, просто проклятые виндузятники не умеют его использовать по назначению правильными способами. Так же мелькнул очередной фанатик, требующий заменить прогнившее виндовое ядро на ядро, поддерживаемое междунаодными пассионариями. Чтобы не тормозило.
But my 2 year old Surface PC is slow, so slow, after multiple bloated updates. It’s shame. Yes, Windows is much more customizable and has more “features” but lacks the underlying Unix kernel so suffers terribly over time.
https://medium.com/@angusno...--------------------
Тут, наверное, ещё смешно то, что ондройд по ходу очередных обновлений точно так же разбухает и шевелится всё медленнее. И это при том, что ядро линупса у него есть. Как же так? Международные пассионарии опять наебали?
If everybody follows the rules, then it all works out.
Spoiler alert: Not everybody follows the rules.
Подрубила винт на три терабайта, живший на XP с фирменной утилитой, к Нанами. Диск определился как трёхтеребайтный, первый раздел увиделся, который на два терабайта, а вот ещё два раздела, живущие на виртуальном диске – нет. Такие дела. А, и S.M.A.R.T. показывает битые сектора.
If your application is calling the ANSI version of CompareString, the function converts parameters via the default code page of the supplied locale. Thus, an application can never use CompareString to handle UTF-8 text.
https://docs.microsoft.com/...?redirectedfrom=MSDN
Линупс какиры в конец заипали Microsoft.
Забавный факт. Облака в оформлении Windows 95 красивее, а небо – голубее, нежели в оформлении Windows 98. В последней всё даже выглядит словно в лёгкой дымке, словно предчувствие грядущих тёмных времён.
Написала свой первый скрипт на PowerShell. Решила запустить. [Закадровый смех] Я не понимаю, зачем нужен скриптовый язык, который без танцев с бубном и чтения хелпа ничего не запускает. Тем более, что рядом находится тот же VBScript, которому эти танцы не нужны.
To understand why the taskbar should be on the left side—or right side—we should first take a look at where it started. Windows 1.0 included a taskbar at the bottom of the screen, but it was only for showing minimized applications. The taskbar we know today first showed up in Windows 95.
https://www.howtogeek.com/7...be-on-the-left-side/
Обозвать рабочий стол панелью задач – это пять.