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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.04.2009, 14:16   #1
KWN, lnc
Delphi 7
Форумчанин
 
Аватар для KWN, lnc
 
Регистрация: 10.02.2009
Сообщений: 354
Вопрос Открыть с помощью моей программы!

Есть код.

Нижеприведенный пример регистрирует расширение .myext за программой, названной MyApp.exe. Он также добавляет одну операцию по умолчанию и два других пункта контекстного меню.
Код:
 

uses
Registry;

procedure TForm1.Button1Click(Sender: TObject);
var
R : TRegIniFile;
begin
R := TRegIniFile.Create('');
with R do begin
RootKey := HKEY_CLASSES_ROOT;
WriteString('.myext','','MyExt');
WriteString('MyExt','','Some description of MyExt files');
WriteString('MyExt\DefaultIcon','','C:\MyApp.Exe,0');
WriteString('MyExt\Shell','','This_Is_Our_Default_Action');
WriteString('MyExt\Shell\First_Action','','This is our first action');
WriteString('MyExt\Shell\First_Action\command','',
'C:\MyApp.Exe /LotsOfParamaters %1');
WriteString('MyExt\Shell\This_Is_Our_Default_Action','',
'This is our default action');
WriteString('MyExt\Shell\This_Is_Our_Default_Action\command',
'','C:\MyApp.Exe %1');
WriteString('MyExt\Shell\Second_Action','','This is our second action');
WriteString('MyExt\Shell\Second_Action\command',
'','C:\MyApp.Exe /TonsOfParameters %1');
Free;
end;
end;

А вот пример, как достать первый(после имени файла) параметр:
Код:
 

procedure TForm1.FormCreate(Sender: TObject);
var
S: string;
begin
S:=paramstr(1);
if fileexists(S) then RichEdit1.Lines.LoadFromFile(S);
end;

А вот пример поиска определенного параметра:
Код:
 

procedure TForm1.FormCreate(Sender: TObject);
var
i: integer;
begin
 for i := 1 to ParamCount do
 begin
   if LowerCase(ParamStr(i)) = 'параметр' then Beep;
 end;
end;
А теперь мои потребности... я хочу чтоб при шелчке по на скажем .mp3 у меня в ListBox1 выставлялся полный путь к файлу скажем C:\mp3Music\music.mp3 и сразу же срабатывала кнопка Button1Click(nil); как это реалтзовать желательно исходником заранее спасибо

теги я за тебя дописывать буду7
Дайте мне власть и я переверну ваш мир!...

Последний раз редактировалось KORN; 22.04.2009 в 15:26.
KWN, lnc вне форума Ответить с цитированием
Старый 22.04.2009, 14:33   #2
ArtInt
Форумчанин
 
Аватар для ArtInt
 
Регистрация: 06.03.2009
Сообщений: 583
По умолчанию

Может легче сделать на Drag&Drop из проводника.
объявить в форме процедуру
Код:
 procedure WMDropFiles (var Msg: TMessage); message wm_DropFiles;
потом
Код:
// процедура для перетаскивания из проводника Windows в программу
procedure TForm1.WMDROPFILES(var Msg: TMessage);
begin
  inherited;
  Amount := DragQueryFile(Msg.WParam, $FFFFFFFF, Filename, 255);
  for i := 0 to (Amount - 1) do
  begin
    size := DragQueryFile(Msg.WParam, i, nil, 0) + 1;
    Filename := StrAlloc(size);
    DragQueryFile(Msg.WParam, i, Filename, size);
    //listbox1.items.add(StrPas(Filename));
     //memo1.Lines.Add(ExtractFilename(Filename));
    //memo1.Lines.Add(ExtractFilePath(Filename));

    StrDispose(Filename);
  end;
  DragFinish(Msg.WParam);


end;
Ведь как я понял эти данные путей из проводника Windows должны заносится.
Можно конечно использовать компонент VirtualShellTools, там полностью есть проводник и многое другое для такой работы (и без глюков как ShellListView в Samples в Дельфи 7)
Но если реакция на клик по файлу в проводнике Windows, то это надо подумать...
Не стыдно чего-то не знать, стыдно не стремиться к знаниям.
ArtInt вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Открытие файла с помощью моей программы igroman Общие вопросы Delphi 3 09.06.2008 09:12
обновление моей программы andrey4623 Общие вопросы Delphi 1 15.03.2008 13:15
Открыть с помощью... Влажимир Общие вопросы Delphi 3 10.03.2008 16:27
Выбор программы или Открыть с помощью Умелец Свободное общение 7 14.07.2007 21:17