Не получается Shell

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
E'rsh
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 111
Зарегистрирован: 12.06.2005 (Вс) 13:52
Откуда: Калининград

Не получается Shell

Сообщение E'rsh » 20.09.2007 (Чт) 15:36

Я запускаю игру через комманду Shell, она запускается и тут же выдает ошибку, но через "выполнит" все работает.. (проверял на играх Half-Life 2, ночной дозор). также пробовал через API WinExec тоже самое.

Помогите....
Нельзя предугадать действие дураков, поскольку они крайне изобретательны.

HiSER
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 88
Зарегистрирован: 04.07.2007 (Ср) 18:17

Сообщение HiSER » 20.09.2007 (Чт) 15:42

Какую ошибку?

nekeda
Постоялец
Постоялец
 
Сообщения: 710
Зарегистрирован: 10.04.2005 (Вс) 23:20

Сообщение nekeda » 20.09.2007 (Чт) 16:07

На вопрос "Выдаёт какую-то ошибку.." - мы отвечаем: "что-нибудь попробуйте!"

Тебе в предыдущем топике три раза сказали что нужно подробно описывать проблему.. всё никак?

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Сообщение iGrok » 20.09.2007 (Чт) 16:09

А если, скажем, ShellExecute?
label:
cli
jmp label

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 20.09.2007 (Чт) 16:15

А если скажем: ТЕКУЩАЯ ПАПКА?
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

Dimon007
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 17
Зарегистрирован: 13.06.2007 (Ср) 21:38

Сообщение Dimon007 » 20.09.2007 (Чт) 17:36

Если запускать Half-Life 2 просто открытием hl2.exe, то ничего не получится. Т.к. сначала нужно запустить стим, и только потом hl2.exe, без запуска стима точно ничего не выйдет. Проблемы с другими играми тоже могут быть вызваны защитой
У каждой хорошей статьи дохода есть свой плохой номер в УК

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Сообщение iGrok » 20.09.2007 (Чт) 17:40

Dimon007 писал(а):Если запускать Half-Life 2 просто открытием hl2.exe, то ничего не получится. Т.к. сначала нужно запустить стим, и только потом hl2.exe, без запуска стима точно ничего не выйдет. Проблемы с другими играми тоже могут быть вызваны защитой
Молодой человек, вы не в теме.. Глюки вызваны именно несоответствием "папки запуска".. ShellExecute может это поправить.
label:
cli
jmp label

E'rsh
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 111
Зарегистрирован: 12.06.2005 (Вс) 13:52
Откуда: Калининград

Сообщение E'rsh » 21.09.2007 (Пт) 0:17

iGrok писал(а):
Dimon007 писал(а):Если запускать Half-Life 2 просто открытием hl2.exe, то ничего не получится. Т.к. сначала нужно запустить стим, и только потом hl2.exe, без запуска стима точно ничего не выйдет. Проблемы с другими играми тоже могут быть вызваны защитой
Молодой человек, вы не в теме.. Глюки вызваны именно несоответствием "папки запуска".. ShellExecute может это поправить.


Спасибо! Только не могу разобраться как её использовать.
Нельзя предугадать действие дураков, поскольку они крайне изобретательны.

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Сообщение iGrok » 21.09.2007 (Пт) 0:23

Ну поищи по форуму по фразе ShellExecute. Примеров - до одного места. Кнопка "Поиск" - наверху. ))
label:
cli
jmp label

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

Сообщение Хакер » 21.09.2007 (Пт) 1:45

Не только ShellExecute может это поправить. Shell + ChDir + ChDrive также может.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 21.09.2007 (Пт) 9:01

Хакер писал(а):Не только ShellExecute может это поправить. Shell + ChDir + ChDrive также может.

Причем это гораздо проще, чем через ShellExecute.
Изображение

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Сообщение iGrok » 21.09.2007 (Пт) 10:47

Вот ведь.. Хакер, мы что, местами поменялись??? ,-)

З.Ы. Учитывая кол-во примеров по SE на форуме.. Проще все-таки через него... )
label:
cli
jmp label

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

Сообщение Хакер » 21.09.2007 (Пт) 12:41

Вот ведь.. Хакер, мы что, местами поменялись??? ,-)

В смысле?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Сообщение iGrok » 21.09.2007 (Пт) 14:57

Хакер писал(а):
Вот ведь.. Хакер, мы что, местами поменялись??? ,-)

В смысле?
Игра слов )
В прошый раз ты меня убеждал, что SE правильней и удобней, и.т.д.. Теперь наоборот.. ))
label:
cli
jmp label

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

Сообщение Хакер » 21.09.2007 (Пт) 15:07

В том случае, да. В этом случае, родной Shell удобнее. Не стоит слепо отдавать предпочтение какому-то одному решению. Стоит выбирать наилучшее в пределах задачи решение и использовать его.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Saturn.65
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 543
Зарегистрирован: 13.10.2006 (Пт) 18:46

Сообщение Saturn.65 » 21.09.2007 (Пт) 15:21

Я пользуюсь такой командой. Сейчас проверил, все работает. может и тебе поможет.
Код: Выделить всё
Shell "rundll32.exe url.dll, FileProtocolHandler D:\PainKiller\Painkiller.exe"

Это был пример открытия игры Painkiller.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 21.09.2007 (Пт) 15:38

Saturn.65, это ты сам придумал, или ты используешь данный код не понимая, как он работает?
Lasciate ogni speranza, voi ch'entrate.

Saturn.65
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 543
Зарегистрирован: 13.10.2006 (Пт) 18:46

Сообщение Saturn.65 » 21.09.2007 (Пт) 15:49

alibek писал(а):Saturn.65, это ты сам придумал, или ты используешь данный код не понимая, как он работает?

Да нет. Мне еще далеко придумывать так. Может я ошибаюсь, но тут не API ли замешана? Стыдно конечно. Но он работает.

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Сообщение Денис » 21.09.2007 (Пт) 17:33

Короче, попробуй код скопипастеный из ярлыка запуска:

Код: Выделить всё
Shell "D:\...\hl2.exe -steamlocal"


или

Код: Выделить всё
Shell "D:\...\hl2.exe -steamlocal -console"
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Сообщение iGrok » 21.09.2007 (Пт) 23:24

Saturn.65 писал(а):Я пользуюсь такой командой. Сейчас проверил, все работает. может и тебе поможет.
Код: Выделить всё
Shell "rundll32.exe url.dll, FileProtocolHandler D:\PainKiller\Painkiller.exe"

Это был пример открытия игры Painkiller.
Ого! Вот это круто, да..
Еще круче, чем мой:
Shell "cmd.exe /c start ..." =)))
label:
cli
jmp label

netdemon
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 179
Зарегистрирован: 04.09.2007 (Вт) 15:51

Сообщение netdemon » 23.09.2007 (Вс) 11:46

Saturn.65 писал(а):
alibek писал(а):Saturn.65, это ты сам придумал, или ты используешь данный код не понимая, как он работает?

Да нет. Мне еще далеко придумывать так. Может я ошибаюсь, но тут не API ли замешана? Стыдно конечно. Но он работает.


Это запуск через Виртуальную машину. rundll32

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

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

netdemon
Неужели?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

netdemon
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 179
Зарегистрирован: 04.09.2007 (Вт) 15:51

Сообщение netdemon » 23.09.2007 (Вс) 12:06

Попробуй выгрузить rundll32, а потом попытайся запустить какое нибудь приложение. Пояыиться сообщение об ошибке такого типа.


Невозможно запустить приложение из-за остановки рабочей станциии.

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Сообщение iGrok » 23.09.2007 (Вс) 12:24

netdemon писал(а):Попробуй выгрузить rundll32, а потом попытайся запустить какое нибудь приложение. Пояыиться сообщение об ошибке такого типа.
Невозможно запустить приложение из-за остановки рабочей станциии.
Удивительно, но у меня НЕТУ rundll32 в процессах.. )))
Доктор, я буду жить? ,-)

А еще я только что, специально для проверки, запустил
"rundll32.exe shell32.dll,Control_RunDLL main.cpl"
и убил из процессов rundll32.. И все работает! ,-)

Прочитай и попробуй "перевести" на русский название этого файла.. Поймешь что это, и зачем оно =)
А если прочитать всю строку запуска, то еще и становится понятно, как это работает, и почему так делать не надо ))
Последний раз редактировалось iGrok 23.09.2007 (Вс) 12:28, всего редактировалось 1 раз.
label:
cli
jmp label

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 23.09.2007 (Вс) 12:25

Ха-ха.
Кроме прочего, какая связь между виртуальной машиной и остановкой рабочей станции?
Изображение

netdemon
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 179
Зарегистрирован: 04.09.2007 (Вт) 15:51

Сообщение netdemon » 23.09.2007 (Вс) 12:40

А что по твоему рабочая станция. :)

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 23.09.2007 (Вс) 13:15

По-моему, "рабочая станция" -- это такая служба.
Можешь зайти в список служб и найти её там.
Изображение


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

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

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

    TopList