Страница: 1 |
Страница: 1 |
Вопрос: Запуск exe из программы
Добавлено: 20.04.06 07:43
Автор вопроса: KEP
Пишу маленькую утилитку для запуска ярлыков, но при запуске 3D приложения любого вылетает ошибка. Запускаю вот так
shell("c:\games\oblivion.exe") Почему через такой запуск 3D программы не запускаются и вылетают с ошибками ?
Ответы
Всего ответов: 7
Номер ответа: 1
Автор ответа:
zulus
Вопросов: 2
Ответов: 23
Профиль | | #1
Добавлено: 20.04.06 10:17
поюзай АПИ ShellExecute
Номер ответа: 2
Автор ответа:
SRV
ICQ: 254226129
Вопросов: 30
Ответов: 107
Профиль | | #2
Добавлено: 20.04.06 10:17
ShellExecute попробуй!
Номер ответа: 3
Автор ответа:
Страшный Сон
Вопросов: 46
Ответов: 848
Профиль | | #3
Добавлено: 20.04.06 11:23
А чем Shell отличается от ShellExecute?
Номер ответа: 4
Автор ответа:
Programmer
Вопросов: 71
Ответов: 246
Профиль | | #4
Добавлено: 20.04.06 16:33
А тем, что оно запускает любые файлы, а не только exe и действует так, как будто ты запускаешь из проводника Windows!
Номер ответа: 5
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #5
Добавлено: 21.04.06 05:11
Shell тоже может так работать: start 1.txt
Номер ответа: 6
Автор ответа:
KEP
Вопросов: 44
Ответов: 119
Профиль | | #6
Добавлено: 21.04.06 09:46
Парни ваше Shell годиться только для запуска приложений не полноэкранных в общем я решил это дело созданием процесса Public Sub ExecCmd(cmdline$)
Dim proc As PROCESS_INFORMATION
Dim start As STARTUPINFO
' Инициализируем структуру STARTUPINFO:
start.cb = Len(start)
' Запускаем приложение:
Ret& = CreateProcessA(0&, cmdline$, 0&, 0&, 1&, NORMAL_PRIORITY_CLASS, 0&, 0&, start, proc)
' Ждем завершения запущенного приложения:
'proc.hProcess
Ret& = WaitForSingleObject(proc.hProcess, INFINITE)
End Sub
Номер ответа: 7
Автор ответа:
KEP
Вопросов: 44
Ответов: 119
Профиль | | #7
Добавлено: 21.04.06 09:48
А втот еще очень удобно и безглючно
-------------------------
x = vtShell("C:\WINDOWS\mHotkey.exe", vbNormalFocus)
------------------------
Function vtShell(ByRef Path As String, WindowStyle As VbAppWinStyle) As Long
ChDrive Left$(Path, 2)
ChDir Left$(Path, InStrRev(Path, "\")
vtShell = Shell(Path, vbNormalFocus)
End Function