vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
SEPA-Dateien erstellen inkl. IBAN-, BLZ-/Kontonummernprüfung  
 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

Fortgeschrittene Programmierung
Re: Ausführen von fremden Programmen überwachen? 
Autor: JSD
Datum: 08.10.02 14:18

Hallo Plasma,

Lordchen hat nicht unrecht, mit Hilfe der DLL geht dies auch. Aber wenn du nur diese Funktion brauchst, ist der Overhead zu groß.
Hier hilft dir das API:

Kopiere u.a. Code in ein Modul. Mit der Übergabe des gesamten Pfades an die Funktion ExecCmd wird die fremde Anwendung gestartet. Der Programmcode wird erst nach Beendigung der fremden Anwendung weiter ausgeführt.

Gruß JSD

Public Type PROCESS_INFORMATION
      hProcess As Long
      hThread As Long
      dwProcessID As Long
      dwThreadID As Long
End Type
 
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 Const NORMAL_PRIORITY_CLASS = &H20&
Public Const INFINITE = -1&
Public Const STARTF_USESHOWWINDOW = &H1
 
Public Declare Function WaitForSingleObject Lib "kernel32" (ByVal _
      hHandle 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 CloseHandle Lib "kernel32" _
      (ByVal hObject As Long) As Long
 
Public Declare Function GetExitCodeProcess Lib "kernel32" _
      (ByVal hProcess As Long, lpExitCode As Long) As Long
 
 
'*******************************************
'Funktion zum Starten eines Prozesses
'*******************************************
Public Function ExecCmd(strAppName As String)
    Dim proc As PROCESS_INFORMATION
    Dim start As STARTUPINFO
    Dim lngRet As Long
    start.cb = Len(start)
    start.dwFlags = STARTF_USESHOWWINDOW
    start.wShowWindow = 3 'maximierte Fensterdarstellung
    lngRet = CreateProcessA(0&, strAppName, 0&, 0&, 1&, NORMAL_PRIORITY_CLASS, _
      0&, 0&, start, proc)
    lngRet = WaitForSingleObject(proc.hProcess, INFINITE)
    GetExitCodeProcess proc.hProcess, lngRet
    CloseHandle proc.hThread
    CloseHandle proc.hProcess
    ExecCmd = lngRet
End Function
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Ausführen von fremden Programmen überwachen?428Plasma07.10.02 17:30
Re: Ausführen von fremden Programmen überwachen?244unbekannt07.10.02 17:34
Re: Ausführen von fremden Programmen überwachen?236Plasma07.10.02 17:58
Re: Ausführen von fremden Programmen überwachen?244unbekannt07.10.02 18:03
DaNkE 229Plasma07.10.02 18:18
Re: Ausführen von fremden Programmen überwachen?308JSD08.10.02 14:18
WOW, Danke!305Plasma08.10.02 16:03
geht auch mit weniger API 230Marcus W10.10.02 00:09
Re: geht auch mit weniger API 220unbekannt10.10.02 00:17
Re: geht auch mit weniger API 216Marcus W10.10.02 11:10
Re: geht auch mit weniger API 265Plasma11.10.02 11:48

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