vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Mails senden, abrufen und decodieren - ganz easy ;-)  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Suche Visual-Basic Code
Re: HILFE ...... zugriff auf DOS 
Autor: Braindead
Datum: 06.05.02 14:18

folgenden code in ein klassenModule copieren

Option Explicit

Const INFINITE = &HFFFF
Const STARTF_USESHOWWINDOW = &H1

Public Enum enSW
SW_HIDE = 0
SW_NORMAL = 1
SW_MAXIMIZE = 3
SW_MINIMIZE = 6
End Enum

Private Type PROCESS_INFORMATION
hProcess As Long
hThread As Long
dwProcessId As Long
dwThreadId As Long
End Type

Private 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 Byte
hStdInput As Long
hStdOutput As Long
hStdError As Long
End Type

Private Type SECURITY_ATTRIBUTES
nLength As Long
lpSecurityDescriptor As Long
bInheritHandle As Long
End Type

Public Enum enPriority_Class
NORMAL_PRIORITY_CLASS = &H20
IDLE_PRIORITY_CLASS = &H40
HIGH_PRIORITY_CLASS = &H80
End Enum

Private Declare Function CreateProcess Lib "kernel32" Alias "CreateProcessA" (ByVal lpApplicationName As String, ByVal lpCommandLine As String, lpProcessAttributes As SECURITY_ATTRIBUTES, lpThreadAttributes As SECURITY_ATTRIBUTES, ByVal bInheritHandles As Long, ByVal dwCreationFlags As Long, lpEnvironment As Any, ByVal lpCurrentDriectory As String, lpStartupInfo As STARTUPINFO, lpProcessInformation As PROCESS_INFORMATION) As Long
Private Declare Function WaitForSingleObject Lib "kernel32" (ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" (hObject As Long) As Boolean
Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Private Declare Function TerminateProcess Lib "kernel32" (ByVal hProcess As Long, ByVal uExitCode As Long) As Long
Private Declare Function GetExitCodeProcess Lib "kernel32" (ByVal hProcess As Long, lpExitCode As Long) As Long

Const STILL_ACTIVE = &H103
Const PROCESS_ALL_ACCESS = &H1F0FFF
Const PROCESS_TERMINATE = &H1

Private currPid As Long

Public Function newTask(ByVal App As String, ByVal WorkDir As String, ByVal start_size As enSW, ByVal Priority_Class As enPriority_Class) As Boolean

If IsActive Then

newTask = False

Exit Function

End If

Dim pclass As Long
Dim sinfo As STARTUPINFO
Dim pinfo As PROCESS_INFORMATION

Dim sec1 As SECURITY_ATTRIBUTES
Dim sec2 As SECURITY_ATTRIBUTES

sec1.nLength = Len(sec1)
sec2.nLength = Len(sec2)
sinfo.cb = Len(sinfo)

sinfo.dwFlags = STARTF_USESHOWWINDOW

sinfo.wShowWindow = start_size

pclass = Priority_Class

newTask = CreateProcess(vbNullString, App, sec1, sec2, False, pclass, 0&, WorkDir, sinfo, pinfo)

currPid = pinfo.dwProcessId

End Function

Public Sub Kill()

Dim Task As Long, Result As Long

Task = OpenProcess(PROCESS_TERMINATE, 0&, currPid)

Result = TerminateProcess(Task, 1&)
Result = CloseHandle(Task)

End Sub

Public Function IsActive() As Boolean

Dim Handle&, ExitCode&

Handle = OpenProcess(PROCESS_ALL_ACCESS, False, currPid)
Call GetExitCodeProcess(Handle, ExitCode)
IsActive = IIf(ExitCode = STILL_ACTIVE, True, False)

End Function

Public Property Get pid() As Long

pid = currPid

End Property

-------------------------------------------

Aufruf:

dim task as new taskclass

task.newTask(cmd, workDirectory, SW_NORMAL, NORMAL_PRIORITY_CLASS)

So das müsste jetzt funzn

HMF
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
HILFE ...... zugriff auf DOS107krunschipz06.05.02 08:19
Re: HILFE ...... zugriff auf DOS79Braindead06.05.02 08:37
Re: HILFE ...... zugriff auf DOS70krunschipz06.05.02 09:04
Re: HILFE ...... zugriff auf DOS64Stahlente06.05.02 09:57
Re: HILFE ...... zugriff auf DOS55Braindead06.05.02 12:07
Re: HILFE ...... zugriff auf DOS51Stahlente06.05.02 12:16
Re: HILFE ...... zugriff auf DOS49Braindead06.05.02 12:21
Re: HILFE ...... zugriff auf DOS47Stahlente06.05.02 12:27
Re: HILFE ...... zugriff auf DOS48Braindead06.05.02 12:31
Re: HILFE ...... zugriff auf DOS51Stahlente06.05.02 12:34
Re: HILFE ...... zugriff auf DOS46Braindead06.05.02 12:57
Re: HILFE ...... zugriff auf DOS47Stahlente06.05.02 13:46
Re: HILFE ...... zugriff auf DOS47Braindead06.05.02 13:53
Re: HILFE ...... zugriff auf DOS46Stahlente06.05.02 14:03
Re: HILFE ...... zugriff auf DOS44Braindead06.05.02 14:14
Re: HILFE ...... zugriff auf DOS68Braindead06.05.02 14:18
Re: HILFE ...... zugriff auf DOS43Stahlente06.05.02 14:29
Re: HILFE ...... zugriff auf DOS43Braindead06.05.02 14:55
Re: HILFE ...... zugriff auf DOS47Stahlente06.05.02 15:00
Re: HILFE ...... zugriff auf DOS40Braindead06.05.02 15:09
Re: HILFE ...... zugriff auf DOS49Stahlente06.05.02 15:12
Re: HILFE ...... zugriff auf DOS42Stahlente06.05.02 15:20
Re: HILFE ...... zugriff auf DOS41Braindead06.05.02 15:24
Re: HILFE ...... zugriff auf DOS48Stahlente06.05.02 15:28
Re: HILFE ...... zugriff auf DOS75Braindead06.05.02 15:31
Re: HILFE ...... zugriff auf DOS43Stahlente06.05.02 15:33
Re: HILFE ...... zugriff auf DOS41Stahlente06.05.02 15:41
Re: HILFE ...... zugriff auf DOS44Braindead06.05.02 15:43
Re: HILFE ...... zugriff auf DOS48Stahlente06.05.02 15:51
Re: HILFE ...... zugriff auf DOS42Braindead07.05.02 07:22
Re: HILFE ...... zugriff auf DOS39Stahlente07.05.02 08:07
Re: HILFE ...... zugriff auf DOS35Braindead07.05.02 08:23
Re: HILFE ...... zugriff auf DOS43Stahlente07.05.02 08:25
Re: HILFE ...... zugriff auf DOS45Braindead07.05.02 08:37
Re: HILFE ...... zugriff auf DOS43Braindead06.05.02 15:42
Re: HILFE ...... zugriff auf DOS46Stahlente06.05.02 15:43
Re: HILFE ...... zugriff auf DOS52Braindead06.05.02 15:44
Re: HILFE ...... zugriff auf DOS45Stahlente06.05.02 14:19

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel