|
![]() |
#1 |
Участник
|
[/quote]
Спасибо! Не додумался полазить по fin.stx. В свое время придумал просто монструозный способ запуска навика в RDP по ссылке из писем (механизм утверждения) с использованием AutoIt и запуском навика с параметрами изнутри навика без параметров... В общем, работало, но это было крайне нетривиальное костыльное решение, которое даже стыдно показывать. [/quote] Вот все таки как все похоже. Я до этого способа делал то же самое. На AutoIT написал утилиту которая по параметру URL создавала текстовой файлик с этим URL. Зарегал протокол в реестре а-ля navision:// где прописал эту утилиту. Она также создавала в локальном каталоге юзера RDP файлик и запускала его. В 1 кодюъните прописал проверку наличия файлика с URL в локальном каталоге и если он есть отрывал на CompanyOpen.Далее этот файлик грохался в этом же кодъюните. Таким образом работали гиперссылки на RDP. Но чето мне этот способ не очень нравился, тем более надо было бы всем ставить эту утилиту, вносить изменения в реестр у пользователей.
__________________
Want to believe... |
|
![]() |
#2 |
Участник
|
Цитата:
Сообщение от DA_NEAL
![]() Вот все таки как все похоже.
Я до этого способа делал то же самое. На AutoIT написал утилиту которая по параметру URL создавала текстовой файлик с этим URL. Зарегал протокол в реестре а-ля navision:// где прописал эту утилиту. Она также создавала в локальном каталоге юзера RDP файлик и запускала его. В 1 кодюъните прописал проверку наличия файлика с URL в локальном каталоге и если он есть отрывал на CompanyOpen.Далее этот файлик грохался в этом же кодъюните. Таким образом работали гиперссылки на RDP. Но чето мне этот способ не очень нравился, тем более надо было бы всем ставить эту утилиту, вносить изменения в реестр у пользователей. не поленился нашел свой код в LogInStart Код: AutostartShortcutSetup.SETRANGE(Enabled, TRUE); IF AutostartShortcutSetup.FINDFIRST THEN BEGIN ShortcutNameWithPath:=STRSUBSTNO(AutostartShortcutSetup.Path, USERID); IF EXISTS(ShortcutNameWithPath) THEN BEGIN ShortcutToStart.TEXTMODE(TRUE); ShortcutToStart.OPEN(ShortcutNameWithPath); StartProgram := (ShortcutToStart.READ(Hlink)>0); ShortcutToStart.CLOSE; ERASE(ShortcutNameWithPath); IF StartProgram THEN IF UPPERCASE(Text50000)=UPPERCASE(COPYSTR(Hlink, 1, STRLEN(Text50000))) THEN HYPERLINK(Hlink); END; END; Проверки тут параноидальные сделаны были - формально можно было запустить на терминальном сервере что-угодно, поэтому проверял, что это именно ссылка в стиле NAV :-) Т.е. мое решение, кажется, вообще не отличается от вашего :-)) |
|
![]() |
#3 |
Участник
|
Ага почти тоже самое, только я запускал RDP приложение с примапленными локальными дисками юзера и файлик искал соответственно в локальной папке юзера по пути \\tsclient\...
а так то одна логика. Но имхо утопичный вариант, слишком все нахлобучено ![]()
__________________
Want to believe... |
|