Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2011.09.04;
Скачать: [xml.tar.bz2];

Вниз

Ассоциация с типом файлов   Найти похожие ветки 

 
vasja123   (2011-05-19 00:37) [0]

Добрый день! Помогите сделать ассоциацию с файлами. Вообщем пишу так:


Uses ..., Registry;

...

Procedure TForm1.RegisterFileType(prefix:String; exepfad:String);
Begin
With TRegistry.Create Do
 try
  RootKey:=HKEY_CLASSES_ROOT;
  OpenKey("."+prefix,True);
  WriteString("",prefix+"file");
  CloseKey;

  CreateKey(prefix+"file");
  OpenKey(prefix+"file\DefaultIcon",True);
  WriteString("",exepfad+", 64");
  CloseKey;

  OpenKey(prefix+"file\shell\open\command",True);
  WriteString("",exepfad+" "%1"");
  CloseKey;

 finally
  Free;
 end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
...
 RegisterFileType("mp3","C:\Project1.exe");
 RegisterFileType("wma","C:\Project1.exe");
 RegisterFileType("wav","C:\Project1.exe");

...
end;


В реестр значения добывляются все Ок, но по факту получается что файлы все равно открываются через Winamp а не через мою прогу. приходится делать вручную.
Подскажите как это сделать программно. может я чего упустил?


 
clickmaker ©   (2011-05-19 01:12) [1]

SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, nil, nil);


 
Германн ©   (2011-05-19 01:27) [2]

P.S.
Раз уж речь зашла о перерегистрации столь популярных типах файлов, то хочу сказать, что убивал бы тех авторов, которые перерегистрируют эти типы файлов на свою программу, не предусматривая при этом "откат" при её удалении.


 
brother ©   (2011-05-19 05:30) [3]

ntcn


 
vasja123   (2011-05-19 06:16) [4]


> clickmaker ©   (19.05.11 01:12) [1]
> SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, nil, nil);


Как эта функция поймет что мне нужно именно mp3, wma... ?


 
MBo ©   (2011-05-19 07:35) [5]

Она ничего не должна понимать, а просто извещает систему о том, что нужно обновить ассоциации


 
vasja123   (2011-05-19 07:41) [6]

Спасибо мастера вы мне очень помогли в этом вопросе)))


 
Anatoly Podgoretsky ©   (2011-05-19 08:52) [7]

> Германн  (19.05.2011 01:27:02)  [2]

А как ты представляешь себе откат?

Поставили A
Поставили B
Поставили C
B удалили
Затем C удалили, с восстановлением
Ну нету в Виндоус истории установок.


 
Anatoly Podgoretsky ©   (2011-05-19 08:53) [8]


> clickmaker ©   (19.05.11 01:12) [1]
> SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, nil, nil);
>

Надо просто перезагрузить компьютер!


 
sniknik ©   (2011-05-19 09:29) [9]

"откат" фигня, а вот то, что перерегистрация безусловная... стоит только запустить программу, очень хреново.

типа запустил посмотреть, а что это за ... и понял - хрень, удалил, а дальше пере настраивай систему...

вон бери пример с нормальных, удачных (ИМХО) программ - медиа плейер классик или rar, (/наверняка есть еще) те ничего не меняют просто так, а либо в сетапе галочки нужно проставить,  либо после в настройках.


 
Плохиш ©   (2011-05-19 12:58) [10]


> Германн ©   (19.05.11 01:27) [2]


> sniknik ©   (19.05.11 09:29) [9]

Взрослые люди, а всё дерьмо всякое с помоек инсталлируете...


 
sniknik ©   (2011-05-19 19:32) [11]

> а всё дерьмо всякое с помоек инсталлируете...
вынужден. работа такая, временами смотреть и оценивать проги потенциальных "партнеров" (будем продавать или нет/будут они нашими "партнерами" или нет). так чего только не насмотришься...


 
Плохиш ©   (2011-05-20 01:33) [12]


> sniknik ©   (19.05.11 19:32) [11]

Для этого же виртуальные машины созданы.


 
Германн ©   (2011-05-20 02:29) [13]


> Взрослые люди, а всё дерьмо всякое с помоек инсталлируете.
> ..

У взрослых людей есть "не совсем взрослые детки", которые много чего инсталлируют, а потом идут жаловаться папе. :)
Например. Это мы старики привыкли слушать музыку на компе через WinAmp (причем без шкур). А молодежь постоянно роется в помойке пробуя всякий найденный там плеер.


 
sniknik ©   (2011-05-20 08:16) [14]

> Для этого же виртуальные машины созданы.
и их тоже используем, и даже просто отдельное железо/с "чистыми" системами, но не всегда это можно. а бывает что и в паре с настройщиком с "противной" стороны.
и чаще всего виртуальные машины созданные "специально для этого", только искажают результат, не дают сделать адекватную оценку. т.к. отрицательный результат, он тоже результат... поэтому вот эта "перенастройка после просмотра" показатель того как написана программа, а если ее поставить на ВМ, посмотреть, и выйти, и продолжать работать "у себя", то будет впечатление, что программа идеальна, ведь последствий не увидишь. + не увидишь как она "живет" рядом остальными... а делать копию своей системы, перенося в виртуалку каждый раз... да нафиг оно нужно, куча проблем ради неполноценного результата. мне проще если что случится систему переставить (хотя, такого еще ни разу не было).

p.s. не думайте, что вы здесь самый  умный, тут все евреи...  © анекдот


 
Anatoly Podgoretsky ©   (2011-05-20 10:17) [15]

> Германн  (20.05.2011 02:29:13)  [13]

Папа должен был сделать образ и потом одним махом отметать претензии.


 
sniknik ©   (2011-05-20 11:33) [16]

> должен был сделать образ
зачем? есть же точки отката. но вот только мало помогает, что то, что это... ведь ты что то кроме этого сам делаешь, а замечаешь обычно не сразу. в итоге встаешь перед выбором, либо немного подшаманить/разобраться, что там эта "чудо прога" внесла, либо откатится и потерять нужное, что сам делал/ставил/настраивал, и к чему претензий нет.

p.p.s. имхо, предложения в стиле "коня в вакууме", все вроде взрослые люди, сами заметили, а предложения для идеальных ситуаций.


 
Плохиш ©   (2011-05-20 11:46) [17]


> sniknik ©   (20.05.11 11:33) [16]

Да, да, я после [13] пошёл в погреб, думал повешусь, но на последок решил попробовать чё-там у меня в бутылках ещё на полках осталось... забыл потом зачем спускался, еле домой поднялся... К тому же ещё не всё попробовал, так что скорого повешенья не ожидайте :-)


 
Anatoly Podgoretsky ©   (2011-05-20 11:55) [18]


> зачем? есть же точки отката. но вот только мало помогает,
>  

Обычно у этих людей нет точки восстановления, они их отключили для "оптимизации". Да и обычно уже поздно пить шампанское.


 
brother ©   (2011-05-20 12:12) [19]

> они их отключили для "оптимизации". Да и обычно уже поздно
> пить шампанское.

вот именно поздно, нафиг они тогда нужны?


 
Anatoly Podgoretsky ©   (2011-05-20 12:23) [20]

> brother  (20.05.2011 12:12:19)  [19]

Они не для них, они для нас.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2011.09.04;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.5 MB
Время: 0.021 c
2-1305751066
vasja123
2011-05-19 00:37
2011.09.04
Ассоциация с типом файлов


2-1305694815
samalex2504
2011-05-18 09:00
2011.09.04
Ошибка конвертирования данных из Excel в тип Data


2-1305899107
Leon-Z
2011-05-20 17:45
2011.09.04
ADOTable.LoadFromFile(...)


15-1305613153
BoB
2011-05-17 10:19
2011.09.04
Непонятки с настройками принтеров


11-1237144555
Лотос
2009-03-15 22:15
2011.09.04
$IFEND expected but $ENDIF found





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский