компьютерный форум
Вернуться   Компьютерный форум > Программирование и вебстроительство > Программирование

Ответ
 
LinkBack Опции темы Опции просмотра
Старый 04.05.2005, 13:14   #1
Пользователи
 
Регистрация: 04.05.2005
Сообщений: 4
Thumbs down

На двух форумах , где я кидал этот вопрос мне так и не дали ответа на мой вопрос.
Вот какой это вопрос - надо добавить в контекстное меню windows
строку , которая будет запускать мою программу и , что главное, определять пути к выделеным файлам (мне нужно будет занести их в memo).Очень прошу помоч , заранее благодарен.




alex_samus вне форума  
Digg this Post!Bookmark Post in Technorati
Ответить с цитированием
04.05.2005, 13:14
Техник
реклама
Thumbs down

Старый 05.05.2005, 02:15   #2
Пользователи
 
Регистрация: 11.10.2004
Сообщений: 607
По умолчанию

2 alex_samus,
Дельфи здесь не причем! тебе нуна копошится в реестре. на сколько я помню тебе нужна в HKEY_CLASSES_ROOT добавить раздел *.
потом OpenWithList и чтото там еще...

в общем копай в этом направлении!
BooMeR вне форума  
Digg this Post!Bookmark Post in Technorati
Ответить с цитированием
Старый 05.05.2005, 05:24   #3
Пользователи
 
Регистрация: 04.05.2005
Сообщений: 4
По умолчанию

Да , да вообщем ты прав , но дело в том , что в реестре я могу дабавить строку на открытие моего расширения , но моя программа ,для которой я это делаю , она сможет открыть файлы только если получит их пути. Может можно
как-то сделать , чтобы при нажатии строки в контекстном меню пути к выделеным файлам где-нибудь сохранялись.
alex_samus вне форума  
Digg this Post!Bookmark Post in Technorati
Ответить с цитированием
Старый 05.05.2005, 09:52   #4
Пользователи
 
Регистрация: 21.04.2005
Сообщений: 5
По умолчанию

Есть примеры по Shell Extention, там фигово, но описано
karlson вне форума  
Digg this Post!Bookmark Post in Technorati
Ответить с цитированием
Старый 05.05.2005, 20:04   #5
Пользователи
 
Регистрация: 04.05.2005
Сообщений: 4
По умолчанию

Где есть?
Изображения
Тип файла: jpg post-597600-1241690975_thumb.jpg (16.3 Кб, 265 просмотров)
alex_samus вне форума  
Digg this Post!Bookmark Post in Technorati
Ответить с цитированием
Старый 05.05.2005, 23:05   #6
Пользователи
 
Регистрация: 11.10.2004
Сообщений: 607
По умолчанию

2 alex_samus,
На самом деле все просто, если ты в реестре поставишь знак %1 после пути к твоей програме, то ей в коммандную строку передастся полный путь и название файла на который тыкнули мышкой два раза.

Может проблема в том что ты не можешь извлечь его из коммандной строки???
Если да то попробуй это:
Код:
s:=ParamStr(i); // где i номер параметра
тоесть для твоего примера: ParamStr(1);

А еще этой фукцией хорошо находить расположение файла твоей программы вот так:
Код:
path:=ExtractFilePath(paramstr(0));
Изображения
Тип файла: jpg post-1176462-1322911992_thumb.jpg (25.4 Кб, 293 просмотров)
BooMeR вне форума  
Digg this Post!Bookmark Post in Technorati
Ответить с цитированием
Старый 06.05.2005, 12:42   #7
Пользователи
 
Регистрация: 04.05.2005
Сообщений: 4
По умолчанию

Спасибо , работает , но а вот если файлов несколько , то как делать тогда?
Я делаю так :
Код:
var
 *reg: TRegistry;
begin
 *reg := TRegistry.Create;
 *reg.RootKey := HKEY_CLASSES_ROOT;
 *reg.LazyWrite := false;
 *reg.OpenKey(edit2.Text+'shellopencommand', 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 у меня расширение которое надо зарегистрировать.
alex_samus вне форума  
Digg this Post!Bookmark Post in Technorati
Ответить с цитированием
Старый 10.05.2005, 04:25   #8
Пользователи
 
Регистрация: 11.10.2004
Сообщений: 607
По умолчанию

2 alex_samus,
Цитата:
[b]но а вот если файлов несколько , то как делать тогда?
ну тогда просто они записываются в разные "paramstr(i)"
где "i" номер команды или ключа в коммандной строке (разделителем считается пробел)


я не совсем понял что тебе нужно в примере, опиши по подробнее.
BooMeR вне форума  
Digg this Post!Bookmark Post in Technorati
Ответить с цитированием
Ответ


Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Вкл.



Текущее время: 19:09. Часовой пояс GMT.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd. Перевод: zCarot
Content Relevant URLs by vBSEO 3.5.0 RC2