Interested Article - .PIF

Program Information File ( *.pif ) — небольшой файл, показывающий, как запустить DOS -программу в многозадачной операционной системе. В Windows 95 и выше эти файлы служат ярлыками на DOS-программы.

DOS-программа рассчитывает, что она полностью управляет доступной ей памятью и аппаратным обеспечением. В многозадачных ОС это не так: в одной памяти сосуществуют много разных программ, часть аппаратного обеспечения эмулируется средствами ОС, важная клавиша DOS-программы может совпадать с таковой у Windows. Потому приходится командовать многозадачной системе, как эмулировать DOS.

PIF-файлы появились в IBM , потом — в проектах Digital Research вроде Concurrent DOS (причём у них можно было как держать файл информации в том же каталоге, так и внедрять информацию прямо в EXE-файл). У них файлы переняли DESQview и Microsoft Windows .

В Microsoft Windows

В Windows до 3.11 настройкой PIF занималась особая программа, . Начиная с 95 это делает Проводник .

Сейчас PIF-файлы используются крайне редко из-за устаревания DOS. Тем не менее, 32-битные версии Windows всё ещё запускают DOS-программы — а значит, используют PIF-файлы. Ярлык рабочего стола для DOS-программы — это именно PIF-файл (как *.lnk для Windows-программы и *.url для веб-страницы).

Windows считает PIF-файлы «псевдоисполняемыми» (как *.bat или *.lnk). Они не ассоциированы ни с какой программой, функция Проводника ShellExecute («запустить по ассоциации» ) опознаёт формат и, если это PIF, запускает нужную программу с нужными настройками, если Portable Executable — запускает напрямую и т. д. Из-за такой архитектуры через PIF можно распространять компьютерные вирусы .

Изначально PIF был двоичным файлом собственного формата. В Windows 3.0 поступили так: первые 369 байт были от DESQView, после них — заголовок и простой блочный формат; Windows читала только те блоки, которые ей нужны. Таким образом, PIF’ы стали расширяемыми и понятными как DESQView, так и Windows. Блочный формат позволил разным версиям Windows редактировать PIF’ы и не трогать настройки других версий . Windows 3.1 может работать с PIF’ами появившейся много лет спустя Windows 2000 и не терять её настроек.

Настройки, существующие в PIF

Настройки PIF’а как ярлыка программы .

  • Командная строка программы.
  • Текущий каталог программы.
  • Горячая клавиша запуска.
  • Название и значок программы (они же будут заголовком и значком окна).

Настройки, связанные с тем, что однозадачная программа запускается в многозадачной среде .

  • Сколько дать программе простой памяти, XMS , EMS и DPMI (минимум и рекомендуемое количество).
  • Нужно ли приостанавливать работу всех остальных программ, когда работает данная.
  • Приоритет исполнения в фоне и на переднем плане.
  • Должны ли действовать клавиши Alt + Tab ↹ , Alt + Esc и другие.
  • Собранные специально для этой программы CONFIG.SYS и AUTOEXEC.BAT .
  • Нужно ли давать программе прямой доступ к определённому аппаратному обеспечению (видеоплате, клавиатуре, COM-портам ).
  • Принципы эмуляции таймера .
  • Нужно ли выгружать Windows и переходить в настоящую DOS.

Кроме того, Windows умеет запускать DOS-программы в окнах, поэтому есть и настройки, связанные с оконной оболочкой .

  • Что делать, если пользователь попытался закрыть окно программы: закрыть сразу или спросить пользователя.
  • Методика вставки информации из буфера обмена в программу.
  • Принципы эмуляции видеопамяти , дра́йвера мыши .
  • Настройки окна вроде положения и установленного шрифта.

Настройки, связанные с переходным периодом, когда DOS-программы разрабатывают с учётом Windows .

  • Обеспечить предельно похожую на DOS среду исполнения, чтобы программа не подозревала, что она под Windows.

Часть из этих настроек существует только в отдельных версиях Windows. Не все из них редактируются Проводником.

Примечания

  1. . Дата обращения: 18 ноября 2017. 6 ноября 2017 года.
  2. (англ.) . Дата обращения: 3 декабря 2018. Архивировано из 24 декабря 2017 года.
  3. (англ.) . Дата обращения: 11 января 2018. 12 января 2018 года.
  4. (англ.) . Дата обращения: 3 февраля 2018. 10 января 2018 года.
  5. Можно проверить и собственноручно: переименовать любой .exe в .pif . На Windows 10 x64 19H2 запустилось — при том, что DOS-программ она не запускает.
  6. Дата обращения: 11 января 2018. 11 января 2018 года.
  7. . Дата обращения: 11 января 2018. 12 января 2018 года.
  8. (англ.) . Дата обращения: 18 ноября 2017. 8 ноября 2017 года.
  9. (англ.) . Дата обращения: 18 ноября 2017. 1 декабря 2017 года.
Источник —

Same as .PIF