Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 |

 

  Вопрос: [VB.Net] Проблема с Shell() на Висте Добавлено: 02.03.08 16:18  

Автор вопроса:  DDK | Web-сайт: etenclub.ru | ICQ: 1260467 
Приветствую, господа.

Сейчас использую такой огород для запуска внешнего приложения:

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) Если в Висте включена её встроенная жесткая защита (которая еще спрашивает разрешения перед запуском кажлого файла), то огород мой успешно выполняется, моя программа закрывается с чувством выполненного долга, а вот желаемое быть вызванным внешнее приложение так и не запускается.

Есть идеи ?

С уважением, Антон.

Ответить

  Ответы Всего ответов: 4  

Номер ответа: 1
Автор ответа:
 DDK



ICQ: 1260467 

Вопросов: 1
Ответов: 1
 Web-сайт: etenclub.ru
 Профиль | | #1
Добавлено: 02.03.08 16:55
Проблему со спец. символами в path решил так:
s = Shell(Chr(34) + Application.StartupPath() + "/EUU_Vista.exe" + Chr(34), AppWinStyle.NormalFocus)

(в кавычки путь взял)

Втоаря проблема с защитой пока актуальна.

Ответить

Номер ответа: 2
Автор ответа:
 Александр



Разработчик Offline Client

ICQ: 204034 

Вопросов: 106
Ответов: 1919
 Профиль | | #2 Добавлено: 02.03.08 21:42
ShellExecute не айс в дотнете?

Ответить

Номер ответа: 3
Автор ответа:
 Morpheus



Вопросов: 224
Ответов: 3777
 Web-сайт: xury.zx6.ru
 Профиль | | #3
Добавлено: 03.03.08 05:49
падзарвать висту ! :)))

Ответить

Номер ответа: 4
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #4 Добавлено: 03.03.08 08:55
Shell использовать не нужно - используй System.Diagnostics.Process.Start.
С какими-либо проблемами из-за специсмволо нвиогдк на ней не встречался.

По второму воросу вообще ничего не ясно, можешь техническими терминами объяснить что ты хочешь сделать и что происходит?

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам