Перестала работать функция Shell

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
bon818
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 218
Зарегистрирован: 29.08.2009 (Сб) 4:49
Откуда: Ташкент

Перестала работать функция Shell

Сообщение bon818 » 12.05.2018 (Сб) 23:50

Перестала работать функция Shell она-же CreateProcess.
Возвращает ERROR 5 Invalid procedure call 'Неверный вызов процедуры.
Заметил не сразу, в чем проблема не пойму.
Подозревал:
Редактировал реестр, восстановил изменения из сохр.копии, не помогло.
Удалил Adobe Reader pdf Rus 11.0.1.exe, ну и гадость.
После установки AdobeReader, при открытии любой папки, сканировал ее содержимое, и если попадались pdf , что-то делал, аж проц подвисал (точно не помню, но.. курсор в песочные часы и чтение с диска).
Пробовал установить AdobeReader снова, но не смог, установщик тупил.

Во как ведет себя ф-я Shell на моем компе:
Код: Выделить всё
   s = "C:\Documents and Settings\admin\Рабочий стол\Project1.exe" ' не запускает
   s = "C:\Documents and Settings\1111\Project1.exe" ' не запускает
   
   s = "C:\Новая папка\Documents and Settings\1111\Project1.exe" ' запускает
   s = chr(34) + "C:\Documents and Settings\admin\Рабочий стол\Project1.exe" +chr(34) 'запускает
      
   s = "C:\Documents and Settings\admin\Рабочий стол\Project1.exe"
   GetShortPathName(s,s,MAX_PATH) 'запускает


В PowerBASIC тоже самое:
Код: Выделить всё
   ?  str$(SHELL(s)) ' RETURN 0
   ?  str$(ERR) ' RETURN 75
   ?  ERROR$(ERR) ' RETURN Path/file access error

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16107
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Перестала работать функция Shell

Сообщение Хакер » 13.05.2018 (Вс) 11:44

Ну это проблема не VB, так что раздел подобран неверно.

Какая ОС используется? Я бы подумал в сторону того, что проблема связана с правами на объекты ФС или кривыми Reparse Point-ами.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

bon818
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 218
Зарегистрирован: 29.08.2009 (Сб) 4:49
Откуда: Ташкент

Re: Перестала работать функция Shell

Сообщение bon818 » 13.05.2018 (Вс) 12:56

Если нужно, перенесите в раздел "Windows-программирование", я тоже не уверен, что этот раздел подходит.

ОС XP SP3
Права на объекты ФС, как это проверить?
С правами, тут как-то не сходится, и лечится это скобками или коротким именем с GetShortPathName.
И кстати, с ф-й ShellExecute подобных проблем нет.

NTFS (reparse points), попробую проверить, что там.

Teranas
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 130
Зарегистрирован: 13.12.2008 (Сб) 4:26
Откуда: Новосибирск

Re: Перестала работать функция Shell

Сообщение Teranas » 14.05.2018 (Пн) 3:37

У меня была проблема с запуском некоторых приложений, помогла функция SetCurrentDirectory...
Хотя может не в тему. :|
С уважением, Андрей.

Vova_2581
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 181
Зарегистрирован: 10.01.2010 (Вс) 18:08

Re: Перестала работать функция Shell

Сообщение Vova_2581 » 16.05.2018 (Ср) 18:40

bon818 писал(а):ОС XP SP3

У меня тоже самое... и все это... запускается без проблем!
Код: Выделить всё
Shell "C:\Documents and Settings\admin\Рабочий стол\calc.exe"
Shell "C:\Documents and Settings\1111\notepad.exe"


Похоже у вас просто глюк в "матрице". И если не синяя и не красная "таблетки" уже не помогают, то Вам срочно нужен Neo-вая переустановка системы. :))


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7

    TopList