===[ Программы / Windows ]=== #post-id: 7248-17-21 #original-date: 30.05.2020 Sat #original-time: 5:21 PM #original-day: 7248 #original-host: WinXP Home SP3 (Build 2600) Почти случайно узнала, что переменные окружения в Windows оказывают большее влияние на программы, чем казалось до этого. Скажем, раньше я считала, что всякие AppData, USERPROFILE, TEMP и прочие приходят откуда-то из внутренностей системы и отражают то, что там творится. И если их значение поменять, то на системные функции вроде SHGetSpecialFolderLocation() и GetTempPath() это не отразится. Однако, это не так: эти функции возвращают значение исходя из значения переменных. Так что модифицировать их значения нужно осторожно: можно, например, поменять путь к каталогу Windows и сделать невозможным запуск дочерних процессов. Кстати, прикол. В Windows есть две переменные, содержащие путь к временному каталогу: TEMP и TMP. При модификации первой GetTempPath() будет возвращать старое значение. Зато значение второй пойдёт в результат функции. Наверняка за этим стоит какая-нибудь история про совместимость. #upd(30.05.2020 - 6:26 PM): Хикедайя спешит на помощь: https://devblogs.microsoft.com/oldnewthing/20150417-00/?p=44213 #upd(30.05.2020 - 6:34 PM): > Rewind to 1973. > > [...] > > (My recollection is that most CP/M programs were configured via > patching. At least that’s how I configured them. I remember my > WordStar manual coming with details about which bytes to patch to > do what. There was also a few dozen bytes of patch space set aside > for you to write your own subroutines, in case you needed to add > custom support for your printer. I did this to add an “Is printer > ready to accept another character?” function, which allowed for > smoother background printing.) Суровые сипиэмщики линуксоедов на завтрак кушают! /* Фига себе он старый. */ #music: a - PSY - [싸집] 양아치