Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Запуск программы с параметром из ссылки [WinXP]


Страницы:   1 2

Alexander_K ©   (2008-12-18 09:26:00) 

Доброе время суток!

Ситуация следующая:

У меня есть система оповещения, которая присылает по почте письма людям с заданиями. Сами задания можно посмотреть с помощью просмотрщика заданий - это программа написанная на делфи. Если ее запустить с параметром ID задания, то она запустится и автоматически покажет это задание...
Так вот вопрос: как мне организовать в письме ссылку так, чтобы при нажатии на нее запускалась эта программа с параметром?

вот пример:
file://c:\windows\notepad.exe
если такое засунуть в письмо, то при нажатии на эту ссылку нотепад запустится...
Но вот с параметром - затык, как ему еще в этой ссылке передать параметр?
Конструкция типа:
file://c:\windows\notepad.exe%20c:\1111.txt
не работает, говорит что не найден такой файл...


  (2010-02-15 18:11:00) [1]

Удалено модератором


  (2009-05-13 12:24:00) [2]

Удалено модератором


Alexander_K   (2008-12-22 13:49:00) [3]

Slym ©   (19.12.08 17:13) [19]

Ну http-шные ссылки же автоматически сразу подсвечивает...

Ну я уже нашел решение.... я теперь с оутлуком через OLE работаю, У оутлука есть свойство HTMLbody, и если ему туда подсунуть html-ку с заголовками и т.д., то тогда он ее отобразит по-нормальному, как html. И соответственно теперь я туда подсовываю <a href="URL:MyProto:24245">URL:MyProto:24245</a> и она подсвечивается и все работает...

Спасибо!


Slym   (2008-12-19 17:13:00) [4]

Alexander_K ©   (19.12.08 14:53) [18]
с какого подсвчивать будет? mailto идет как plain text  а не гипер текст


Alexander_K   (2008-12-19 14:53:00) [5]

Slym ©   (18.12.08 11:28) [14]

А вот еще докучи проблемка:
Прописал я в реестре URL:MyProto, если в ворде делать гиперссылку то все работает отлично. Но вот проблема....
У нас в конторе используется вкачестве почтовика Майкрософт Оутлук 2003.

Оповещения я генерируются с помощью mailto (делается это для того чтобы человек, от чьего имени пойдет письмо смог его посмотреть, поредактировать и отправить сам):
чтото типа вот этого:
mailto:aaa@qqq.ru?subject=Вам письмо&body=Текст письма и URL:MyProto:24245

так вот проблема такая, когда создается письмо с помощью mailto, то Оутлук не подсвечивает URL:MyProto:24245 как ссылку, то есть она не кликабельна, соответственно если отправить такое письмо, то адресат не сможет кликнуть на ссылку чтобы запустилась программа.... А если в тексте ручками после URL:MyProto:24245 нажать энтер, то тогда ссылка подсвечивается и делается кликабельной....
Попробовал с помощью mailto формировать письмо в оутлук экспресс - все нормально работает, ссылка без каких либо проблем сразу делается кликабельной...
Пробовал детать так: URL:MyProto:24245,
но оутлук не воспринимает это в качестве ссылки, а вставляет это все как текст в письмо...

Может кто-нибудь поможет мне научить оутлук сразу распознавать URL:MyProto:24245 как ссылку чтобы она была кликабельная?


Alexander_K   (2008-12-18 15:18:00) [6]

Огромное спасибо Slym, через реестр все получилось


Slym   (2008-12-18 11:46:00) [7]

Alexander_K ©   (18.12.08 11:34) [15]
можно в HKEY_CLASSES_ROOT засунуть


Alexander_K   (2008-12-18 11:34:00) [8]

Спасибо!


Slym   (2008-12-18 11:28:00) [9]

или в реестре
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\MyProto]
@="URL:MyProto"
"URL Protocol"=""

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\MyProto\DefaultIcon]
@="c:\\paramstr.exe,0"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\MyProto\shell]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\MyProto\shell\open]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\MyProto\shell\open\command]
@="c:\\paramstr.exe %l"


и потом <a href="MyProto://SomeParam">SomeParam</a>


Slym   (2008-12-18 10:59:00) [10]

http://www.rsdn.ru/article/inet/pluggprotocol.xml


Alexander_K   (2008-12-18 10:22:00) [11]

Медвежонок Пятачок ©   (18.12.08 10:19) [10]

Да нотепад это пример, в общем случае так сказать

реально надо будет примерно так:

file:///c:\имя_программы.exe 12342

причем цифра - это не файл, это внутренний параметр программы


Alexander_K   (2008-12-18 10:20:00) [12]

Slym ©   (18.12.08 10:06) [5]

А как это сделать? В каком хоть направлении копать?


Медвежонок Пятачок   (2008-12-18 10:19:00) [13]

ну и зачем тебе нотепад запускать?

*.txt не ассоциирован ни с чем?


Alexander_K   (2008-12-18 10:18:00) [14]

Медвежонок Пятачок ©   (18.12.08 10:14) [8]

Так без параметра получается, а с параметром нет
file:///c:\windows\notepad.exe c:\1111.txt
вот так не работает... говорит что файл c:\windows\notepad.exe c:\1111.txt не найден.... видимо всю строчку целиком за один файл считает


Медвежонок Пятачок   (2008-12-18 10:14:00) [15]

<a href="file:///C:\test.txt">test.txt</a>


Alexander_K   (2008-12-18 10:11:00) [16]

Медвежонок Пятачок ©   (18.12.08 10:10) [6]

А можете привести всю строку целиком?


Медвежонок Пятачок   (2008-12-18 10:10:00) [17]

у меня все нормально открывается по ссылке file:///


Slym   (2008-12-18 10:06:00) [18]

Alexander_K ©   (18.12.08 10:05) [4]
регить свой протокол, типа MyJobFile-  mjf://1234.id


Alexander_K   (2008-12-18 10:05:00) [19]

Медвежонок Пятачок ©   (18.12.08 09:54) [3]

Дык я ж выше писал.... С тремя слешами тоже не получается... если чесно не понял разницу между двумя и тремя слешами


Медвежонок Пятачок   (2008-12-18 09:54:00) [20]

file:///.........


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо