Форум программистов, компьютерный форум, киберфорум
Delphi
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
4 / 4 / 2
Регистрация: 09.12.2011
Сообщений: 58

Работа с реестром в дельфи

12.01.2012, 17:31. Показов 1798. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Народ, кто знает как сделать так, чтобы при нажатии на файл в Windows (например, mp3 или txt) запускалась моя программа и играла этот файл (открывался txt)?

Работу с реестор в дельфи я вообще не знаю. Подскажите какие модули подключать или какие компоненты использовать.

На сколько я знаю, то вся работа происходит с веткой HKEY_CLASSES_ROOT. Может ли мне кто-нибудь показать на примере любых форматов (например rar, jpg или др.)....Что делать если у меня в программе новый формат *.sp, его вроде нету в реестре, как поспупать в таких ситуациям??...нужно в HKEY_CLASSES_ROOT создовать новый подраздел с именем .sp ???

........................................ ........................................ ........................................ ..........................
Скажите а можно ли программно узнать имя файла в Windows, по которому был произведен 2-ой щелчок?? (т.е. если у меня есть файл с именем "Privet.sp" и когда его пытаешся открыть, то запускается моя программа (без открытого в нем файла "Privet.sp")..так вот, можно ли как-то узнать после нажатия какого именно файла (имя файла) открылась моя программа )..Я тогда строковой переменной присвол бы имя файла и открыл бы его.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.01.2012, 17:31
Ответы с готовыми решениями:

Работа с реестром.
:help:Пытаюсь сделать свой твик по ХРюшу,:huh:Помогите пожалуйста, ехе у меня почемуто запускаеться через раз, и то с ошибкой, и не могу...

Работа с реестром в VB
Из VB, вроде бы можно работать с реестром. Подскажите, пожалуйста, где копать?

Работа с реестром.
Итак, есть прога, которая прописывается в реестр в HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows\\CurrentVersion\\Run. Но при...

3
 Аватар для anonimus
2184 / 1255 / 143
Регистрация: 28.04.2010
Сообщений: 4,592
12.01.2012, 17:40
вот как-то писал программку, она в контекстное меню добавляет пункт "добавить в автозагрузку" что бы одним кликом файл в автозагрузку кидать, исходник на домашнем компе, часиков в 7 кину
1
4 / 4 / 2
Регистрация: 09.12.2011
Сообщений: 58
12.01.2012, 18:57  [ТС]
Я уже вроде сделал (причем обошелся без использования реестра)
OpenDialog и клики ;) вот с помощью этого материала

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
procedure TForm1.FormCreate(Sender: TObject);
var FileName : String;
begin
  FileName := '';
  if ParamCount = 1 then
  begin
    // если программа запущена по дв клику на
    // файле с расширением ассоциированном с ней
    // или присутсвуют доп параметры
    if ParamStr(1)='/install' then
    begin                         
      // проверям есть ли ключ для установки
      // если программа запущена, например
      // с:\Project1.exe /install
      // то выполняем ассоциацию 
      SetupExtension;                
    end else if ParamStr(1)='/uninstall' then
    begin
      // проверям есть ли ключ для удаления ассоциации
      // с:\Project1.exe /uninstall
      // то выполняем удаление из реестра информации
      // о нашей проге      
    end else
    begin
      // иначе, делаем предположение, что в параметре
      // командной строки путь к файлу
      // с:\Project1.exe d:\documents\file.typ
      FileName := ParamStr(1);
      // в FileName будет d:\documents\file.typ
    end;
  end                      
  else                                      
  begin
    // программа запущена по дв клику на исполнимом файле
  end;                         
                         
  // здесь в FileName путь к выбранному пользователем файлу
  // или пустая строка просто отображем что в этой переменной     
 
  ShowMessage(FileName);
end;
(спасибо пользователю schdub)

anonimus, если вам не сложно, то выложите свою программку или отдельный код, возможно у вас более понятно или рационально.

 Комментарий модератора 
Используйте специальные теги форматирования программного кода!
Для этого есть кнопочка DELPHI на панели редактора сообщений!
0
 Аватар для anonimus
2184 / 1255 / 143
Регистрация: 28.04.2010
Сообщений: 4,592
12.01.2012, 22:43
я думал ты хочешь добавить пункт в контекстное меню windows

Добавлено через 2 минуты
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
{$ifdef _WIN64}
reg:=Tregistry.Create($0100);
{$ELSE}
reg:=Tregistry.Create(KEY_ALL_ACCESS);
{$ENDIF}
 
if ParamStr(1)='' then begin
  reg.RootKey:=HKEY_CLASSES_ROOT;
  reg.OpenKey('*\shell\AddAutoRun\',true);
  reg.WriteString('','Äîáàâèòü â àâòîçàãðóçêó');
  reg.CloseKey;
 
  reg.OpenKey('*\shell\AddAutoRun\Command\',true);
  reg.WriteString('',NewName+' add %1');
  reg.CloseKey;
end;
 
 
if ParamStr(1)='add' then begin
  if exData(ParamStr(2)) then
    exit;
 
     reg.RootKey:=HKEY_CURRENT_USER;
     reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Run',true);
     reg.WriteString(ExtractFileName(ParamStr(2)),ParamStr(2));
     reg.CloseKey;
     MessageBox(0,Pchar('Ôàéë '+ExtractFileName(ParamStr(2))+' óñïåøíî äîáàâëåí â àâòîçàãðóçêó, â'+#13#10+'HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run'),'Óñïåõ',MB_OK)
end;
 
reg.Free;
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.01.2012, 22:43
Помогаю со студенческими работами здесь

Работа с реестром
Не знаю почему, но при запуске ничего не работает, по идее оно должно создавать параметр в ключе, но абсолютно ничего работает. Запускал от...

Работа с реестром С++
Всем привет. Нужно записать в системный реестр, прочитать из реестра и вывести на экран о системную директорию и директорию Windows.

Работа с реестром
ззззздарова! буду благодарен тому кто подкинет vbs код, который создаст раздел в реестре по адресу HKLM\SOFTWARE. с возможностью создания...

Работа с реестром
Вот нашел как добавть и удалить ключ реестра , а как проверить есть ли уже етот ключ в реестре ?procedure ChangeReg(StrName: ShortString;...

Работа с реестром
Здравствуйте! Подскажыть пожалуйста как записать и прочитать переменые в реестре с помощю бейсика.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru