D
DDK
Приветствую, господа.
Сейчас использую такой огород для запуска внешнего приложения:
На XP работает всё в любых случаях замечательно. На Висте же возникает две проблемы:
1) Так как по умолчанию StartupPath - это папка %TEMP%, а имена юзерских папок могут иногда содержать такие спецсимволы как ®, © и т.д., то в случае, когда в имени папки юзера содержится подобные знаки, Shell отвечает, что не может найти файл.
2) Если в Висте включена её встроенная жесткая защита (которая еще спрашивает разрешения перед запуском кажлого файла), то огород мой успешно выполняется, моя программа закрывается с чувством выполненного долга, а вот желаемое быть вызванным внешнее приложение так и не запускается.
Есть идеи ?
Проблему со спец. символами в path решил так:
(в кавычки путь взял)
Втоаря проблема с защитой пока актуальна.
Сейчас использую такой огород для запуска внешнего приложения:
Код:
Dim s As Integer
Try
s = Shell(Application.StartupPath() + "\EUU_Vista.exe", AppWinStyle.NormalFocus)
Catch ex As Exception
Try
s = Shell(Application.StartupPath() + "/EUU_Vista.exe", AppWinStyle.NormalFocus)
Catch ex2 As Exception
End Try
End Try
На XP работает всё в любых случаях замечательно. На Висте же возникает две проблемы:
1) Так как по умолчанию StartupPath - это папка %TEMP%, а имена юзерских папок могут иногда содержать такие спецсимволы как ®, © и т.д., то в случае, когда в имени папки юзера содержится подобные знаки, Shell отвечает, что не может найти файл.
2) Если в Висте включена её встроенная жесткая защита (которая еще спрашивает разрешения перед запуском кажлого файла), то огород мой успешно выполняется, моя программа закрывается с чувством выполненного долга, а вот желаемое быть вызванным внешнее приложение так и не запускается.
Есть идеи ?
Проблему со спец. символами в path решил так:
Код:
s = Shell(Chr(34) + Application.StartupPath() + "/EUU_Vista.exe" + Chr(34), AppWinStyle.NormalFocus)
Втоаря проблема с защитой пока актуальна.