Interested Article - .PIF
- 2021-02-01
- 1
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. Не все из них редактируются Проводником.
Примечания
- . Дата обращения: 18 ноября 2017. 6 ноября 2017 года.
- (англ.) . Дата обращения: 3 декабря 2018. Архивировано из 24 декабря 2017 года.
- ↑ (англ.) . Дата обращения: 11 января 2018. 12 января 2018 года.
- (англ.) . Дата обращения: 3 февраля 2018. 10 января 2018 года.
-
Можно проверить и собственноручно: переименовать любой
.exe
в.pif
. На Windows 10 x64 19H2 запустилось — при том, что DOS-программ она не запускает. - Дата обращения: 11 января 2018. 11 января 2018 года.
- . Дата обращения: 11 января 2018. 12 января 2018 года.
- ↑ (англ.) . Дата обращения: 18 ноября 2017. 8 ноября 2017 года.
- (англ.) . Дата обращения: 18 ноября 2017. 1 декабря 2017 года.
- 2021-02-01
- 1