powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Можно ли изменить ярлык из VFP?
24 сообщений из 24, страница 1 из 1
Можно ли изменить ярлык из VFP?
    #38034476
glamis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
требуется изменить ярлык запуска программы. Но так как рабочих мест очень много и могут быть варианты запуска (например, путь к рабочей папке программы), хотелось бы при запуске программы выложить на рабочий стол новый ярлык, созданный на базе шаблона в котором изменить конкретные настройки пользователя.
...
Рейтинг: 0 / 0
Можно ли изменить ярлык из VFP?
    #38034620
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть объект ShellLink. Как пользоваться ищи в инете. Я на Сях его пользовал.
http://msdn.microsoft.com/en-us/library/windows/desktop/bb776891(v=vs.85).aspx
...
Рейтинг: 0 / 0
Можно ли изменить ярлык из VFP?
    #38034692
Jonny540
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
glamisмогут быть варианты запуска (например, путь к рабочей папке программы), хотелось бы при запуске программы выложить на рабочий стол новый ярлык,
созданный на базе шаблона в котором изменить конкретные настройки пользователя.Хм... ИМНО, гораздо целесообразнее конкретные настройки пользователя хранить в неком ini-файле/таблице
и настраивать их при установке приложения на комп с учетом пожеланий юзера (что-то типа setup).
...
Рейтинг: 0 / 0
Можно ли изменить ярлык из VFP?
    #38037387
glamis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нашел такой код создания ярлыка:

LOCAL WshShell,oShellLink, strDesktop, fstart
fstart=FULLPATH('start.exe')
WshShell = CreateObject("WScript.Shell")
strDesktop = WshShell.SpecialFolders("Desktop")
oShellLink = WshShell.CreateShortcut(strDesktop+"\XXX.lnk")
oShellLink.TargetPath = fstart
oShellLink.WindowStyle = 1
oShellLink.IconLocation = fstart
oShellLink.Description = "Новая версия XXX"
oShellLink.WorkingDirectory = JUSTPATH(fstart)
oShellLink.Save && 'создать ярлык

для создания своего ярлыка прописываю:
oShellLink.TargetPath='"'+SYS(2004)+IIF(VERSION(4) = '09','vfp9','vfp8')+'.exe" start.exe ADM'
естестно ожидаю получить эту строку в ярлыке, однако получаю:
"C:\"C:\PROGRAM FILES\MICROSOFT VISUAL FOXPRO 9\vfp9.exe" start.exe ADM"
...
Рейтинг: 0 / 0
Можно ли изменить ярлык из VFP?
    #38037508
Jonny540
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
glamisдля создания своего ярлыка прописываю:
oShellLink.TargetPath='"'+SYS(2004)+IIF(VERSION(4) = '09','vfp9','vfp8')+'.exe" start.exe ADM'Вот это '"' зачем? Пишите:
Код: plsql
1.
oShellLink.TargetPath=SYS(2004)+IIF(VERSION(4) = '09','vfp9','vfp8')+'.exe" start.exe ADM'
...
Рейтинг: 0 / 0
Можно ли изменить ярлык из VFP?
    #38037670
glamis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Jonny540,
В итоге мне нать получить строку:
"c:\programs files\Microsoft Visual Foxpro 9\vfp9" start.exe adm
где то что в кавычках - имя программы, start.exe по сути параметр VFP9.exe, а adm - параметр start.exe (требуется запустить приложение под оболочкой VFP), а при автоматическом создании ярлыка в кавычки берется вся строка и WIN пытается найти программу с таким именем. И, естессна, не находит.
...
Рейтинг: 0 / 0
Можно ли изменить ярлык из VFP?
    #38037778
Jonny540
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
glamis,

Да сколько уже примеров тут было?!
Код: plsql
1.
2.
cStroka=SYS(2004)+IIF(VERSION(4) = '09','vfp9','vfp8')+'.exe" start.exe ADM'
oShellLink.TargetPath=cStroka
...
Рейтинг: 0 / 0
Можно ли изменить ярлык из VFP?
    #38037785
Jonny540
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Т.е.
Код: plsql
1.
2.
cStroka='"'+SYS(2004)+IIF(VERSION(4) = '09','vfp9','vfp8')+'.exe" start.exe ADM'
oShellLink.TargetPath=cStroka

:))
...
Рейтинг: 0 / 0
Можно ли изменить ярлык из VFP?
    #38037798
glamis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Jonny540,

ЕКсли не понял:
Пишу:
oShellLink.TargetPath='C:\Program Files\Microsoft Visual FoxPro 9\vfp9.exe start.exe ADM'
Получаю:
"C:\Program Files\Microsoft Visual FoxPro 9\vfp9.exe start.exe ADM"

Пишу:
oShellLink.TargetPath='"C:\Program Files\Microsoft Visual FoxPro 9\vfp9.exe" start.exe ADM'
Получаю:
"C:\"C:\Program Files\Microsoft Visual FoxPro 9\vfp9.exe" start.exe ADM"

Надо
"C:\Program Files\Microsoft Visual FoxPro 9\vfp9.exe" start.exe ADM
...
Рейтинг: 0 / 0
Можно ли изменить ярлык из VFP?
    #38037816
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
glamisНадо
"C:\Program Files\Microsoft Visual FoxPro 9\vfp9.exe" start.exe ADM
Немного не по теме: зачем именно так? start.exe я так понимаю прога твоя фоксовая. Может так надо:
Код: sql
1.
C:\MyProg\start.exe ADM



По теме не подскажу, ни разу не пробовал.

Кстати ярлыки еще WinRAR умеет создавать. Использовал его как инсталлятор.
...
Рейтинг: 0 / 0
Можно ли изменить ярлык из VFP?
    #38037872
glamis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T,

В этом режиме нужен доступ к ресурсам и сервисам VFP
...
Рейтинг: 0 / 0
Можно ли изменить ярлык из VFP?
    #38037881
Jonny540
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
glamisнадо "C:\Program Files\Microsoft Visual FoxPro 9\vfp9.exe" start.exe ADMНаписал же:
Код: plsql
1.
2.
cStroka='"'+SYS(2004)+IIF(VERSION(4) = '09','vfp9','vfp8')+'.exe" start.exe ADM'
oShellLink.TargetPath=cStroka
...
Рейтинг: 0 / 0
Можно ли изменить ярлык из VFP?
    #38037964
glamis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Jonny540,

Ты понимаешь разницу между
"C:\"C:\Program Files\Microsoft Visual FoxPro 9\vfp9.exe" start.exe ADM"
или
"C:\Program Files\Microsoft Visual FoxPro 9\vfp9.exe start.exe ADM"
и
"C:\Program Files\Microsoft Visual FoxPro 9\vfp9.exe" start.exe ADM

?

Третий раз пишу что формируется ярлык в котором команда ПОЛНОСТЬЮ взята в КАВЫЧКИ.
В последнем варианте я уже даже не вспоминаю про сисы. Пишу полный путь. как он есть.
...
Рейтинг: 0 / 0
Можно ли изменить ярлык из VFP?
    #38038107
Jonny540
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
glamis,

Не надо мне сказки рассказывать. Набери:
Код: plsql
1.
2.
cStroka='"'+SYS(2004)+IIF(VERSION(4) = '09','vfp9','vfp8')+'.exe" start.exe ADM'
? cStroka
...
Рейтинг: 0 / 0
Можно ли изменить ярлык из VFP?
    #38038152
glamis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Jonny540,

Я ж тебе не про то, что в фоксе не получается, а то что в ярлыке не то что в фоксе.

Слушатель ты наш дорогой.
...
Рейтинг: 0 / 0
Можно ли изменить ярлык из VFP?
    #38038545
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Параметры задаются через отдельное свойство

Код: sql
1.
oShellLink.Arguments = "start.exe ADM"



Для свойства oShellLink.TargetPath дополнительные кавычки появятся автоматически, если путь доступа или имя приложения содержат пробелы. Специально их добавлять не надо.

В результате, Вам надо написать так

Код: sql
1.
2.
oShellLink.TargetPath = SYS(2004) + IIF(VERSION(4) = '09','vfp9','vfp8') + '.exe'
oShellLink.Arguments = "start.exe ADM"
...
Рейтинг: 0 / 0
Можно ли изменить ярлык из VFP?
    #38039015
XAndy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
и в try catch endtry я бы заключил
...
Рейтинг: 0 / 0
Можно ли изменить ярлык из VFP?
    #38039118
glamis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВладимирМ,

Ок, все получилось. Спасибо.

XAndy,

Try - само собой.
...
Рейтинг: 0 / 0
Можно ли изменить ярлык из VFP?
    #38133911
лам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
glamis,

можно увидеть весь код создания ярлыка, получившийся в результате отладки?
...
Рейтинг: 0 / 0
Можно ли изменить ярлык из VFP?
    #38134049
glamis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
лам,

IF !PROGRAM(0) = 'START' && OR _sys0_kod = '000001'
IF _x1.roles $ 'PR,PS,SA' AND DTOS(DATE()) > '20121122' AND !_sys0_kod $ '000001'
=MESSAGEBOX('Работа старой версии программы для работников отдела заблокирована!')
Quit
Endi
TRY
LOCAL WshShell,oShellLink, strDesktop, fstart
fstart=FULLPATH('start.exe')
WshShell = CreateObject("WScript.Shell")
strDesktop = WshShell.SpecialFolders("Desktop") &&переменная strDesktop будет равна пути до рабочего стола будь то путь в windows 7 (C:\Users\Имя пользователя\Desktop) или в windows xp (C:\Documents and settings\Имя пользователя\Рабочий стол)
IF FILE(strDesktop+"\Новая версия.lnk")
ERASE (strDesktop+"\Новая версия.lnk")
Endi
IF !FILE(strDesktop+"\Новая версия.lnk")
oShellLink = WshShell.CreateShortcut(strDesktop+"\Новая версия.lnk") && кто не знает то у ярлыков формат lnk

DO case
CASE _x1.roles $ 'PR,PS,SA' && OR _sys0_kod = '000001'
oShellLink.TargetPath=SYS(2004)+IIF(VERSION(4) = '09','vfp9','vfp8')+'.exe'
oShellLink.Arguments = "start.exe ADM"
CASE !EMPTY(asup21.mount_net)
oShellLink.TargetPath=fstart
othe
oShellLink.TargetPath=fstart
oShellLink.Arguments = "OPER"
Endc
oShellLink.WindowStyle = 1
oShellLink.IconLocation = fstart
oShellLink.Description = "Новая версия"
oShellLink.WorkingDirectory = JUSTPATH(fstart)
oShellLink.Save && 'создать ярлык
ELSE
IF _x1.roles $ 'PR,PS,SA' AND DTOS(DATE()) > '20121122' AND !_sys0_kod = '000001'
=MESSAGEBOX('Работа старой версии программы для работников отдела заблокирована!')
Quit
Endi
Endi
CATCH
=send_exchange(_sys0_kod, '000001','Стартовая процедура','Попытка создания ярлыка окончилась неудачей')
ENDTRY
=MESSAGEBOX('Для корректной работы программы используйте ярлык "Новая версия",'+;
'для запуска программы')
* quit
Endi
...
Рейтинг: 0 / 0
Можно ли изменить ярлык из VFP?
    #38134058
лам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
glamis,

спасибо
...
Рейтинг: 0 / 0
Можно ли изменить ярлык из VFP?
    #38136201
Alex 0163
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день! подскажите пожалуйста почему при создании ЕХЕ файла пишет ошибку ВОЗМОЖНОСТЬ НЕДОСТУПНА! что может быть?
...
Рейтинг: 0 / 0
Можно ли изменить ярлык из VFP?
    #38136226
Jonny540
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex 0163Добрый день! подскажите пожалуйста почему при создании ЕХЕ файла пишет ошибку ВОЗМОЖНОСТЬ НЕДОСТУПНА! что может быть?В связи с чем возник такой вопрос именно в этом топике?
...
Рейтинг: 0 / 0
Можно ли изменить ярлык из VFP?
    #38136227
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex 0163,

В коде стоит команда/оператор не поддерживаемый в RunTime, типа set step on
...
Рейтинг: 0 / 0
24 сообщений из 24, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Можно ли изменить ярлык из VFP?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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