![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Запуск программы с параметром из ссылки [WinXP]
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:///.........