urn: и outlook:

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

urn: и outlook:

Сообщение ANDLL » 14.08.2004 (Сб) 15:57

Если набрать в браузере outlook:today,то Вы увидите окно знаменитого почтового клиента.

Вопросы:

1) Что такое urn:, и как это можно юзать.
2) Как, набрав my-app:tomorow передать управление моей программе?

Спасибо.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 14.08.2004 (Сб) 16:38

Нужно создать Protocol Handler (см. http://msdn.microsoft.com/workshop/netw ... erview.asp), и прописать его CLSID в HKEY_CLASSES_ROOT\PROTOCOLS\Handler\my-app\CLSID

А вот ещё из MSDN:
The following example shows which registry values must be added to register a new application (notepad.exe in this example) to handle a new URL protocol (note:).

[HKEY_CLASSES_ROOT]
[note]
(Default) = "URL:Note Protocol"
URL Protocol = ""
[DefaultIcon]
(Default) = "notepad.exe"
[shell]
[open]
[command]
(Default) = "c:\windows\notepad.exe %1"

By adding these settings to the registry, attempts to navigate to URLs such as note:c:\myfile.txt would launch Notepad to edit the file c:\myfile.txt. Of course, all the commands supported under Shell\Open are supported, including DDEEXEC (in other words, "command" is not the only key you can put under the verb).

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 14.08.2004 (Сб) 17:12

tyomitch писал(а):Нужно создать Protocol Handler


Это какой интерфейс надо Implements?
Кстати, твой ранг повысился!



404.
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 14.08.2004 (Сб) 18:25

ANDLL писал(а):
tyomitch писал(а):Нужно создать Protocol Handler


Это какой интерфейс надо Implements?

Creating an Asynchronous Pluggable Protocol Handler
Follow these steps to create an asynchronous pluggable protocol handler:

Implement the IInternetProtocol interface.
Implement the IInternetProtocolRoot interface.
Implement the IClassFactory interface.
Optional. Implement the IInternetProtocolInfo interface. Support for the HTTP protocol is provided by the transaction handler.
If IInternetProtocolInfo is implemented, provide support for PARSE_SECURITY_URL and PARSE_SECURITY_DOMAIN so the URL security zone manager can handle the security properly.
Write the code for your protocol handler.
Provide support for BINDF_NO_UI and BINDF_SILENTOPERATION.
Add a subkey for your protocol handler in the registry under HKEY_CLASSES_ROOT\PROTOCOLS\Handler.
Create a string value, CLSID, under the subkey and set the string to the CLSID of your protocol handler.
After the protocol handler is created and added to the registry, the handler can be used by any application that uses the functionality provided by Urlmon.dll.

ANDLL писал(а):Кстати, твой ранг повысился!

:-)

ANDLL писал(а):

404.

Только что кликнул прямо на этой ссылке - открылось. Попробуй ещё раз ;-)
[edit]Вот в чём дело: в моей ссылке в конце прилепилась скобка. А вот в твоей всё правильно, так что кликай на свою.[/edit]

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 14.08.2004 (Сб) 19:00

Код: Выделить всё
Implements IInternetProtocol


Ошибка при компиляции - такой интерфейс нельзя имплементировать.

Кстати, что такое URN?
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 14.08.2004 (Сб) 19:44

ANDLL писал(а):
Код: Выделить всё
Implements IInternetProtocol


Ошибка при компиляции - такой интерфейс нельзя имплементировать.

Кстати, что такое URN?
uniform resource name

Создай свою TLB, и опиши в ней IInternetProtocol так, чтобы стало можно :-)

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 14.08.2004 (Сб) 19:47

Я знаю только один способ написать TLB, используя MIDL. Но не знаю IDL. Так что сам я не напишу ее. Если не сложно, pls, подкинь ее. Или подскажт, где найти инфу по этому вопросу(написание TLB).
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 14.08.2004 (Сб) 19:54

Скачать исходники olelib от emorcillo (http://www.mvps.org/emorcillo/vb6/tlb/olelib.shtml)
Посмотреть, разобраться ;-)

А после tlbbrwse сил на эти хэндлеры уже не осталось, сорри.
IDL, нужная тебе, пишется очень просто: берётся файл "C:\Program Files\Microsoft Visual Studio\VC98\Include\urlmon.idl" и отрезается всё ненужное.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 14.08.2004 (Сб) 20:04

(*Задумчиво*) Маньяки, блин...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 8

    TopList