Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > ОС и железо
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 06.01.2012, 19:41
Alex_Gordon Alex_Gordon вне форума
Прохожий
 
Регистрация: 21.02.2011
Сообщения: 19
Репутация: 10
По умолчанию Создание своего протокола

Не знал, где тему создавать...
Но тем не менее: как создать свой протокол (а-ля Steam, Google Chorme)
т.е. обращаться к программе как-нибудь так:
<имя программы>://<действие>
Ответить с цитированием
  #2  
Старый 07.01.2012, 10:50
Pyro Pyro вне форума
Так проходящий
 
Регистрация: 18.07.2011
Сообщения: 805
Версия Delphi: 7Lite
Репутация: 6063
По умолчанию

Google жил, Google жив, Google будет жить!
http://forums.fanatic.net.nz/index.php?showtopic=11758
PHP код:
procedure CreateKeysReg TRegistrykeyCurPath String );
begin
    Reg
.OpenKeykey,True);
    
Reg.WriteString('URL Protocol''');
    
Reg.WriteInteger('EditFlags'0);
    
Reg.WriteString('','URL:' key ' Protocol');
    
Reg.CloseKey;
    
Reg.OpenKeykey '\DefaultIcon'True);
    
Reg.WriteString(''CurPath );
    
Reg.CloseKey;
    
Reg.OpenKeykey '\shell'True );
    
Reg.CloseKey;
    
Reg.OpenKeykey '\shell\open'True );
    
Reg.CloseKey;
end;

procedure TForm1.FormCreate(SenderTObject);
var
    
curPath String;
    
cabstring;
    
Reg TRegistry;
    
I,JInteger;
    
Lucky Boolean;
  
hHWND;
begin

   curPath  
:= ExtractFilePathParamStr(0) );
    if 
curPath[Length(curPath)]<>'\' then
        curPath := curPath + '
\';
    curPath := curPath + ExtractFileName( ParamStr(0) );
    Reg := TRegistry.Create;
    Reg.RootKey := HKEY_CLASSES_ROOT;
    if not Reg.OpenKey( '
icc',False) then begin
       CreateKeys( Reg, '
icc', curPath );
       Reg.OpenKey( '
icc\shell\open\command', True );
       Reg.WriteString('', '"'+curPath + '" 
%1' );
       Reg.CloseKey;
    end
    else
    form1.Close;


    // Code below is what happens when the protocol is ran
  

    if ParamCount>0 then begin
 curPath := ParamStr(1);
if ParamStr(1) = '
notepad' then begin
{Your Code here}
end;

        end
        else
        Application.Terminate;
end; 
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 21:42.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter