Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.04.22;
Скачать: CL | DM;

Вниз

Как добавить свой пункт в контекстное меню Ворда?   Найти похожие ветки 

 
Magedon ©   (2007-04-04 18:05) [0]

Здравствуйте.
Собственно все сказано в сабже.


 
Magedon ©   (2007-04-04 20:17) [1]

Прошу прощение за столь уродливо заданный вопрос.
Сейчас, когда прояснил до конца ситуацию, попробую задать более правильно.

Значит так, написал программку, которая регистрирует себя как почтовый клиент поумолчанию.

Вот этой функцией регистрирую себя по умолчанию:

function RegisterMailClient(const ApplicationFullName, ApplParams,
                                 CannonicalName, DisplayName,
                                 IconFile: string; InconNumder: integer):boolean;
var
 Reg: TRegistry;
 h: longword;
begin
 Result := false;
 Reg := TRegistry.Create;
 try
   try
     Reg.RootKey := HKEY_CLASSES_ROOT;

     Reg.OpenKey("\mailto\shell\open\command", true);
     Reg.WriteString("",ApplicationFullName + " " + ApplParams);
     Reg.OpenKey("\mailto\DefaultIcon", true);
     Reg.WriteString("",IconFile + ", " + IntToStr(InconNumder));

     Reg.OpenKey(cMailClients+CannonicalName,true);
     Reg.WriteString("",CannonicalName);
     if DisplayName <> "" then
       Reg.WriteString("LocalizedString",DisplayName);

     Reg.OpenKey(cMailClients+CannonicalName+"\shell\open\command", true);
     Reg.WriteString("",ApplicationFullName + " " + ApplParams);
     Reg.OpenKey(cMailClients+CannonicalName+"\shell\open\ddeexec\Application", true);

     Reg.OpenKey(cMailClients+CannonicalName+"\Protocols\Mailto", true);
     Reg.WriteString("","URL:MailTo Protocol");
     Reg.WriteString("URL Protocol","");
     h := $00000002;
     Reg.WriteBinaryData("EditFlags", h, SizeOf(LongWord));
     Reg.OpenKey(cMailClients+CannonicalName+"\Protocols\Mailto\DefaultIcon", true);
     Reg.WriteString("",IconFile + ", " + IntToStr(InconNumder));

     Reg.OpenKey(cMailClients+CannonicalName+"\Protocols\Mailto\shell\open\command", true);
     Reg.WriteString("",ApplicationFullName + " " + ApplParams);

     Result := true;
     except
        Result := false;
     end;
 finally
   FreeAndNil(reg);
 end;
end;//RegisterTMAsMailClient


Работает. Кликая на ссылке в браузере или из Runа выполняя команду mailto:user@tm.org?subject=Mailto%20test&body=yrtyjrtyjrtyj запускается мое приложение.

НО

Когда в ворде в меню File\Send To кликнуть на Mail Recipient (as Attachment) то запускается не мое приложение, а ТундерБёрд (мой основной почтовый клиент). Именно по этой причине мне вернули на доработку програмульку.

Причем посмотревши в Выбор програм по умолчанию там увидел только АутЛук и ТундерБёрд а выбор стоит на пункте Использовать текущую почтовую программу. Так же посмотревши в свойства обозревателя, там почтовиком так и остался ТундерБёрд а не моя програмка.

Подскажите, пожалуйста, что нужно еще дописать чтобы винда окончательно признала мою программу как почтовый клиент по умолчанию и Ворд отправлял письма через мою програмку?

Благодарю, за внимание.



Страницы: 1 вся ветка

Текущий архив: 2007.04.22;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.048 c
2-1175581584
sergeyst
2007-04-03 10:26
2007.04.22
Автоматическое обновление


2-1175696435
Anry
2007-04-04 18:20
2007.04.22
Quickreport и промежуточный результат после полосы Detail


2-1175325231
Roman_S
2007-03-31 11:13
2007.04.22
Как передеть файл с компа1 на комп2 (и обратно) через Net?


11-1156039661
Psychedelic
2006-08-20 06:07
2007.04.22
Прозрачность в Bitmap


2-1175119886
ppcumax
2007-03-29 02:11
2007.04.22
Как перемешать слова в Memo