Запуск приложения

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Flex
Начинающий
Начинающий
 
Сообщения: 18
Зарегистрирован: 10.10.2003 (Пт) 0:49

Запуск приложения

Сообщение Flex » 17.01.2005 (Пн) 13:59

Нашел в инете код, что бы запускать приложения!
Код: Выделить всё
Модуль:
_______________________________
Option Explicit
Public Type STARTUPINFO
cb As Long
lpReserved As String
lpDesktop As String
lpTitle As String
dwX As Long
dwY As Long
dwXSize As Long
dwYSize As Long
dwXCountChars As Long
dwYCountChars As Long
dwFillAttribute As Long
dwFlags As Long
wShowWindow As Integer
cbReserved2 As Integer
lpReserved2 As Long
hStdInput As Long
hStdOutput As Long
hStdError As Long
End Type

Public Type PROCESS_INFORMATION
hProcess As Long
hThread As Long
dwProcessID As Long
dwThreadID As Long
End Type

Public Declare Function WaitForSingleObject Lib "kernel32" ( _
ByVal hProcess As Long, ByVal dwMilliseconds As Long) As Long

Public Declare Function InputIdle Lib "user32" Alias "WaitForInputIdle" ( _
ByVal hProcess As Long, ByVal dwMilliseconds As Long) As Long

Public Declare Function CreateProcessA Lib "kernel32" ( _
ByVal lpApplicationName As Long, ByVal lpCommandLine As String, _
ByVal lpProcessAttributes As Long, ByVal lpThreadAttributes As Long, _
ByVal bInheritHandles As Long, ByVal dwCreationFlags As Long, _
ByVal lpEnvironment As Long, ByVal lpCurrentDirectory As Long, _
lpStartupInfo As STARTUPINFO, lpProcessInformation As _
PROCESS_INFORMATION) As Long

Public Declare Function GetExitCodeProcess Lib "kernel32" ( _
ByVal hProcess As Long, lpExitCode As Long) As Long

Public Declare Function CloseHandle Lib "kernel32" ( _
ByVal hObject As Long) As Long

Public Const NORMAL_PRIORITY_CLASS As Long = &H20&
Public Const INFINITE As Long = -1&

Public Const STATUS_WAIT_0 As Long = &H0
Public Const STATUS_ABANDONED_WAIT_0 As Long = &H80
Public Const STATUS_USER_APC As Long = &HC0
Public Const STATUS_TIMEOUT As Long = &H102
Public Const STATUS_PENDING As Long = &H103

Public Const WAIT_FAILED As Long = &HFFFFFFFF
Public Const WAIT_OBJECT_0 As Long = STATUS_WAIT_0
Public Const WAIT_TIMEOUT As Long = STATUS_TIMEOUT

Public Const WAIT_ABANDONED As Long = STATUS_ABANDONED_WAIT_0
Public Const WAIT_ABANDONED_0 As Long = STATUS_ABANDONED_WAIT_0

Public Const WAIT_IO_COMPLETION As Long = STATUS_USER_APC
Public Const STILL_ACTIVE As Long = STATUS_PENDING

Public Const PROCESS_QUERY_INFORMATION As Long = &H400
Public Const STANDARD_RIGHTS_REQUIRED As Long = &HF0000


Public Function myShell(CommandLine As String, Optional Timeout As Long, _
Optional WaitForInputIdle As Boolean) As Boolean
Dim proc As PROCESS_INFORMATION
Dim Start As STARTUPINFO
Dim i As Integer
Dim ret As Long
Dim nMilliseconds As Long
nMilliseconds = INFINITE
Start.dwFlags = 4 'Если окно не надо показывать=1
'^^^^^^^^^^^^^^
'и вообще насчет вида запуска надо с ней играться
'например 6 дает окно минимального размера
CreateProcessA 0&, CommandLine, 0&, 0&, 1&, _
NORMAL_PRIORITY_CLASS, 0&, 0&, Start, proc
ret = WaitForSingleObject(proc.hProcess, nMilliseconds)
CloseHandle proc.hProcess
myShell = (ret = WAIT_OBJECT_0)

End Function
_____________________________________________________

на кнопке формы:

myShell("game.exe")


Надо что бы вариант из комбо бокса как в аттаче(прога) применялся в Myshell функции. Мой пример не работает:

Dim hs As String


If Cmb1.ListIndex = 0 Then
hs = "-heapsize 64000"
ElseIf Cmb1.ListIndex = 1 Then
hs = "-heapsize 128000"
ElseIf Cmb1.ListIndex = 2 Then
hs = "-heapsize 256000"
ElseIf Cmb1.ListIndex = 3 Then
hs = "-heapsize 512000"
ElseIf Cmb1.ListIndex = 4 Then
hs = "-heapsize 1024000"
Else
hs = "-heapsize 64000"
End If

myShell ("hl2.exe -steam -console +hs")
Вложения
Launcher.rar
(29.62 Кб) Скачиваний: 17

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

Сообщение tyomitch » 17.01.2005 (Пн) 14:09

Может, myShell ("hl2.exe -steam -console " + hs)
:?:
Изображение


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

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

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

    TopList