Сложный вопрос

Модераторы: Duncon, Naeel Maqsudov, Игорь Акопян, Хыиуду

Ответить
alex_samus
Сообщения: 5
Зарегистрирован: 04 май 2005, 17:18

На двух форумах , где я кидал этот вопрос мне так и не дали ответа на мой вопрос.
Вот какой это вопрос - надо добавить в контекстное меню windows
строку , которая будет запускать мою программу и , что главное, определять пути к выделеным файлам (мне нужно будет занести их в memo).Очень прошу помоч , заранее благодарен.
YurikGL
Сообщения: 142
Зарегистрирован: 16 фев 2005, 21:54
Откуда: Уфа
Контактная информация:

Если не ошибаюсь, содержание контекстного меню определяется в реестре. Попробуй поискать в нем, как определяется, например, запуск WinRar и сделать по образу и подобию...
alex_samus
Сообщения: 5
Зарегистрирован: 04 май 2005, 17:18

Да , да вообщем ты прав , но дело в том , что в реестре я могу дабавить строку на открытие моего расширения , но моя программа ,для которой я это делаю , она сможет открыть файлы только если получит их пути. Может можно
как-то сделать , чтобы при нажатии строки в контекстном меню пути к выделеным файлам где-нибудь сохранялись.
Аватара пользователя
Romeo
Сообщения: 3126
Зарегистрирован: 02 мар 2004, 17:25
Откуда: Крым, Севастополь
Контактная информация:

Пути к выделенным файлам передаются в качестве параметров программы.
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
alex_samus
Сообщения: 5
Зарегистрирован: 04 май 2005, 17:18

Теоретически я это знаю , но как эти параметры потом считать и где они , ну что ли лежат.
alex_samus
Сообщения: 5
Зарегистрирован: 04 май 2005, 17:18

А что делать если я выделяю несколько файлов , ведь должго передаваться несколько параметров?
Если выделить несколко файлов и открыть их то откроется несколько окон программы каждая из которых получит путь к одномуиз файлов
Я делаю так :

Код: Выделить всё

var
  reg: TRegistry;
begin
  reg := TRegistry.Create;
  reg.RootKey := HKEY_CLASSES_ROOT;
  reg.LazyWrite := false;
  reg.OpenKey(edit2.Text+'\shell\open\command', true);
  reg.WriteString('', application.ExeName+' %1');
  reg.CloseKey;
  reg.OpenKey(edit2.text+'\DefaultIcon',true);
  reg.WriteString('', application.ExeName+',0');
  reg.CloseKey;
  reg.free;
end;
//В edit2 у меня расширение которое надо зарегистрировать
Nucleus
Сообщения: 29
Зарегистрирован: 06 май 2005, 12:57
Контактная информация:

Параметры определяются через ParamStr(параметр)
если это то....
Ответить