Страница 1 из 1
Сложный вопрос
Добавлено: 04 май 2005, 17:21
alex_samus
На двух форумах , где я кидал этот вопрос мне так и не дали ответа на мой вопрос.
Вот какой это вопрос - надо добавить в контекстное меню windows
строку , которая будет запускать мою программу и , что главное, определять пути к выделеным файлам (мне нужно будет занести их в memo).Очень прошу помоч , заранее благодарен.
Добавлено: 04 май 2005, 17:45
YurikGL
Если не ошибаюсь, содержание контекстного меню определяется в реестре. Попробуй поискать в нем, как определяется, например, запуск WinRar и сделать по образу и подобию...
Добавлено: 05 май 2005, 09:27
alex_samus
Да , да вообщем ты прав , но дело в том , что в реестре я могу дабавить строку на открытие моего расширения , но моя программа ,для которой я это делаю , она сможет открыть файлы только если получит их пути. Может можно
как-то сделать , чтобы при нажатии строки в контекстном меню пути к выделеным файлам где-нибудь сохранялись.
Добавлено: 05 май 2005, 12:01
Romeo
Пути к выделенным файлам передаются в качестве параметров программы.
Добавлено: 06 май 2005, 00:02
alex_samus
Теоретически я это знаю , но как эти параметры потом считать и где они , ну что ли лежат.
Добавлено: 06 май 2005, 07:55
YurikGL
Добавлено: 07 май 2005, 16:14
alex_samus
А что делать если я выделяю несколько файлов , ведь должго передаваться несколько параметров?
Если выделить несколко файлов и открыть их то откроется несколько окон программы каждая из которых получит путь к одномуиз файлов
Я делаю так :
Код: Выделить всё
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 у меня расширение которое надо зарегистрировать
Добавлено: 12 май 2005, 23:25
Nucleus
Параметры определяются через ParamStr(параметр)
если это то....