Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.04.2012, 04:14   #1
Кристинка89
Форумчанин
 
Регистрация: 09.02.2011
Сообщений: 163
По умолчанию Проверка наличия записи в реестре

Как проверить соществование записи в реестре и если есть то не ассоциировать файлы а просто запускать форму
вот код ассоциации файла с программой

Код:
Reg:=TRegistry.Create; // создаем
  Reg.RootKey := HKEY_CLASSES_ROOT; // указываем корневую ветку
  Reg.OpenKey('.tr\OpenWithProgids\', true);
  Reg.WriteString('Tutorial.tr', '');
  Reg.OpenKey('\Tutorial.tr\DefaultIcon\', true);
  ss:=Application.ExeName+',0';
  Reg.WriteString('', ss);
  Reg.OpenKey('\Tutorial.tr\Shell\Open\', true);
  Reg.WriteString('', 'Открыть в Tutorial');
  Reg.OpenKey('command\', true);
  ss:='"'+Application.ExeName+'" "%1"';
  Reg.WriteString('', ss);
  Reg.Free;
  SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, nil, nil);
Кристинка89 вне форума Ответить с цитированием
Старый 19.04.2012, 08:13   #2
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,761
По умолчанию

If Reg.KeyExists и Reg.ValueExists Вам помогут.
FaTaL вне форума Ответить с цитированием
Старый 19.04.2012, 08:18   #3
astecenko
Homo Interneticus
Форумчанин
 
Аватар для astecenko
 
Регистрация: 04.03.2011
Сообщений: 611
По умолчанию

Код:
  Reg:=TRegistry.Create; // создаем
  Reg.RootKey := HKEY_CLASSES_ROOT; // указываем корневую ветку
  if Reg.KeyExists('.tr\OpenWithProgids\')=False then
  begin
  Reg.OpenKey('.tr\OpenWithProgids\', true);
  Reg.WriteString('Tutorial.tr', '');
  Reg.OpenKey('\Tutorial.tr\DefaultIcon\', true);
  ss:=Application.ExeName+',0';
  Reg.WriteString('', ss);
  Reg.OpenKey('\Tutorial.tr\Shell\Open\', true);
  Reg.WriteString('', 'Открыть в Tutorial');
  Reg.OpenKey('command\', true);
  ss:='"'+Application.ExeName+'" "%1"';
  Reg.WriteString('', ss);
  end;
  Reg.Free;
  SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, nil, nil);
astecenko вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проверка наличия элемента в БД WarAngel.alk PHP 5 28.09.2011 10:23
Проверка наличия файла nervniy Работа с сетью в Delphi 4 28.10.2010 19:47
Проверка наличия записи в таблице MargoNik БД в Delphi 2 08.07.2009 06:20
проверка наличия файла Juffin Общие вопросы Delphi 2 18.04.2009 14:17
Проверка наличия файла russian-stalker Общие вопросы Delphi 4 31.08.2008 19:27