Статья научит вызвать диалог ассоциации файлов программным методом, а не блужданием по настройкам.
Изменение ассоциации файлов в VB. Однажды мне понадобилось сопоставить вновь созданному файлу программу, которая его должна открывать. При помощи меню настроек сделать это не составляет труда, но так как эта операция специально выполняется редко - обычно диалог выскакивает автоматически, когда система наталкивается на незнакомое расширение файла, то пришлось изрядно полазить по настройкам. Вот и пришла в голову мысль - можно ли вызвать это меню из выполняемой программы? Т.е. Вызвать диалог ассоциации файлов программным методом, а не блужданием по настройкам. Оказалось, что можно и, причем очень просто. В нужном месте программы вставьте такую строку: Shell "rundll32 shell32.dll,OpenAs_RunDLL c:ИмФайла.new" Здесь, соответственно, путь и название реального файла, которому надо назначить программу, при помощи которой Win9*/ME его будет открывать. Не случайно указываю системы, где это работает гарантировано. На других системах просто не пробовал. После задержки в несколько секунд открывается диалог " Выбор программы", где прелагается выбрать программу из списка, или если нет в списке, то другую. Если поставить галочку в "Использовать для всех файлов такого типа", то и после выхода из вашей программы ассоциация с вашим файлом сохранится. Виталий |