|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Ассоциация файлов в Windows 7
Код:
procedure TForm1.Button1Click(Sender: TObject); var s:string; Reg: TRegistry; begin Reg:=TRegistry.Create; // ??????? Reg.RootKey := HKEY_CLASSES_ROOT; // ????????? ???????? ????? Reg.OpenKey('.dev\', true); Reg.WriteString('', 'BSMPLAER.wav'); Reg.WriteString('Winamp_Back', 'BSMPLAER.wav'); Reg.OpenKey('\BSMPLAER.wav\DefaultIcon\', true); s:=ExtractFilePath(Application.ExeName)+'Icons\wav.ico'+',0'; Reg.WriteString('', s); Reg.OpenKey('\BSMPLAER.wav\Shell\Open\', true); Reg.WriteString('', 'Открыть Wav в BSMP'); Reg.OpenKey('command\', true); s:='"'+Application.ExeName+'" "%1"'; Reg.WriteString('', s); Reg.Free; SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, nil, nil); end; так этот код не прет Последний раз редактировалось Admin, 07.07.2011 в 15:36. |
#2
|
|||
|
|||
хм и ни одного ответа...
может кто знает как в вин7 ассоциации прикрутить? данный выше код норм работает в ХР и не работает в 7ке, после его применения ничего не меняется |
#3
|
|||
|
|||
Да, вроде, также все.
Добавь закрытие ключей на всякий случай... (Reg.CloseKey. |
#4
|
|||
|
|||
любой код с использованием HKEY_CLASSES_ROOT является говнокодом и некорректен для любой винды
должны использоваться ветки из HKEY_LOCAL_MACHINE или HKEY_CURRENT_USER |
#5
|
||||
|
||||
Цитата:
[offtop] Тут уже были подобные отвечающие, гадили и уходили. Надеюсь вы не из таких.[/offtop] Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#6
|
|||
|
|||
Цитата:
|
#7
|
|||
|
|||
Цитата:
|
#8
|
||||
|
||||
robt, изучай: File Association Example
Пишу программы за еду. __________________ |
#9
|
|||
|
|||
Цитата:
Цитата:
Последний раз редактировалось robt, 03.05.2012 в 11:24. |
#10
|
||||
|
||||
Цитата:
Цитата:
Цитата:
т.е. про "говнокод", "некорректность" и "только для чтения" ни слова!!! Пишу программы за еду. __________________ |
#11
|
|||
|
|||
Цитата:
"It is primarily intended for compatibility with the registry in 16-bit Windows." а использование конструкций оставленых для совместимости и есть некорректный говнокод про только чтение указано здесь http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx "In general, HKEY_CLASSES_ROOT is intended to be read from but not written to. For more information, see the HKEY_CLASSES_ROOT article." ну а если ты все еще считаеш себя правым ,то реши ка задачку используя только HKEY_CLASSES_ROOT В винде зареганы 5 пользователей, Вася должен открывать файлы .тхт программой А, Петя программой Б а все остальные,включая новых пользователей программой В |