Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Запуск приложения ассоциированного с ... чем-нибудь ... под Windows / 10 сообщений из 10, страница 1 из 1
23.10.2007, 13:02
    #34887563
G@rry_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск приложения ассоциированного с ... чем-нибудь ... под Windows
Есть такая задача.
Человеку по электронке в Оутлок приходит сообщение, в этом сообщении присутствует некая "ссылка" (что в этой ссылке неважно).
Когда пользователь кликает по ссылке должно выполнится определенное действие. Например, запуститься какое-нибудь приложение (активизироваться уже запущенное) и в этом приложении должно произойти определенное действие.

Как это лучше реализовать? Какие механизмы у винды для этого имеются?
...
Рейтинг: 0 / 0
23.10.2007, 13:17
    #34887657
Нахлобуч
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск приложения ассоциированного с ... чем-нибудь ... под Windows
ShellExecute
...
Рейтинг: 0 / 0
23.10.2007, 13:54
    #34887868
==55==
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск приложения ассоциированного с ... чем-нибудь ... под Windows
URL Monikers
...
Рейтинг: 0 / 0
23.10.2007, 13:59
    #34887889
G@rry_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск приложения ассоциированного с ... чем-нибудь ... под Windows
Вопрос, на самом деле, не в том как запустить, а в том как сказать вине, что нужно запустить...

Но все ровно спасибо! Пошел почитать про функцию и наткнулся на интерфейс IShellExecuteHook, который позволяет перехватывать вызовы ShellExecute и ShellExecuteEx. Наверное поможет. :)

И еще вопрос, хотя врядли на него есть ответ... Если я в оутлуке напишу строку начитающуюся на:
http://
ftp://
file://
ms-help://

то получатель увидит ссылку на которую он сможет кликнуть и откроется соответствующий документ.
В принципе я, судя по всему, смогу перехватить любую такую ссылку через IShellExecuteHook и выполнить нужное мне действие. Но нет предела совершенству. :)
Как бы мне так сделать, чтобы тот же оутлук (пойдет даже решение только для оутлука) показывал как ссылку строку начинающуюся скажем с:
cis://...
или любого другого определенного мной текста и по клику передавал бы ее в ShellExecuteEx?
...
Рейтинг: 0 / 0
23.10.2007, 14:01
    #34887896
Нахлобуч
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск приложения ассоциированного с ... чем-нибудь ... под Windows
А вот это уже действительно моникеры. Гуглите по Asynchronous Pluggable Protocols
...
Рейтинг: 0 / 0
23.10.2007, 14:03
    #34887909
==55==
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск приложения ассоциированного с ... чем-нибудь ... под Windows
Собственно ответил - читайте про URL моникеры
http://msdn2.microsoft.com/en-us/library/ms775149.aspx
...
Рейтинг: 0 / 0
23.10.2007, 14:21
    #34888014
belugin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск приложения ассоциированного с ... чем-нибудь ... под Windows
...
Рейтинг: 0 / 0
23.10.2007, 21:16
    #34889383
teras
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск приложения ассоциированного с ... чем-нибудь ... под Windows
G@rry_ wrote:
> Есть такая задача.
> Человеку по электронке в Оутлок приходит сообщение, в этом сообщении
> присутствует некая "ссылка" (что в этой ссылке неважно).
> Когда пользователь кликает по ссылке должно выполнится определенное
> действие. Например, запуститься какое-нибудь приложение
> (активизироваться уже запущенное) и в этом приложении должно произойти
> определенное действие.
>
> Как это лучше реализовать? Какие механизмы у винды для этого имеются?

А обычные ассоциации по расширениям файлов не пойдут?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
24.10.2007, 02:45
    #34889675
Alex_Toms
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск приложения ассоциированного с ... чем-нибудь ... под Windows
Из Архангельского...
FindExecutable возвращает имя и путь приложения связанного с указанным файлом.

Пример для C++ Builder:
char APchar[254];
FindExecutable("Doc.doc",NULL,APchar);
Label->Caption=APchar;

Удачи.
...
Рейтинг: 0 / 0
24.10.2007, 08:18
    #34889783
G@rry_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск приложения ассоциированного с ... чем-нибудь ... под Windows
Спасибо всем огромное! То что нужно!
...
Рейтинг: 0 / 0
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Запуск приложения ассоциированного с ... чем-нибудь ... под Windows / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]