vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Blitzschnelles Erstellen von grafischen Diagrammen!  
 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

Visual-Basic Einsteiger
Programm Outlook beenden, wenn Postausgang leer ist 
Autor: Egon10
Datum: 02.01.12 16:36

Hallo Freunde,
zuerst einmal ein gesundes Neues! Bin zur Zeit am basteln. Ich möchte in meinem VB6 Programm die Outlook.exe erst beenden, wenn der Ordner "Postaugang" geleert ist. Ich starte und beende so :
Option Explicit

' hier die benötigten API-Deklarationen
Private Declare Function CloseHandle Lib "kernel32" _
(ByVal hObject As Long) As Long

Private Declare Function OpenProcess Lib "kernel32" _
(ByVal dwDesiredAccess As Long, ByVal bInheritHandle As _
Long, ByVal dwProcessId As Long) As Long

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

Private Declare Function TerminateProcess Lib "kernel32" _
(ByVal hProcess As Long, ByVal uExitCode As Long) As Long

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

Dim lTaskID As Long
' Prüfen, ob ein Task mit einer bestimmten
' TaskID noch aktiv ist
Public Function IsTaskActive(lTaskID As Long) As Boolean
Dim lhwnd As Long
Dim lExitCode As Long

lhwnd = OpenProcess(PROCESS_ALL_ACCESS, False, lTaskID)
Call GetExitCodeProcess(lhwnd, lExitCode)
Call CloseHandle(lhwnd)

IsTaskActive = (lExitCode = STILL_ACTIVE)
End Function
' Task beenden
Public Sub TerminateTask(lTaskID As Long)
Dim lhwnd As Long
Dim lResult As Long

lhwnd = OpenProcess(PROCESS_TERMINATE, 0&, lTaskID)
lResult = TerminateProcess(lhwnd, 1&)
lResult = CloseHandle(lhwnd)
End Sub
Public Sub Starten_Scanner()
Dim sFile As String
Dim sParam As String

sFile = "C:\Programme\ScanWizard 5\ScanWizard5.exe "

lTaskID = Shell(Chr$(34) & sFile & Chr$(34) & " " & sParam, vbNormalFocus)

End Sub

Public Sub Beenden_Scanner()
' Prozess beenden
If IsTaskActive(lTaskID) Then
TerminateTask lTaskID
MsgBox "Scanner wurde beendet!"
Else
MsgBox "Scanner wird nicht mehr ausgeführt!"
End If
End Sub
Public Sub Starten_Outlook()
Dim sFile As String
Dim sParam As String

sFile = "C:\Programme\Microsoft Office\Office12\OUTLOOK.EXE"

lTaskID = Shell("C:\Programme\Microsoft Office\Office12\OUTLOOK.EXE", vbMaximizedFocus)
End Sub
Public Sub Beenden_Outlook()
' Prozess beenden
If IsTaskActive(lTaskID) Then
TerminateTask lTaskID
MsgBox "Outlook wurde beendet!"
Else
MsgBox "Outlook wird nicht mehr ausgeführt!"
End If
End Sub
Nun soll aber die Sub Beenden_Outlook erst nach dem geleerten Ordner gestartet werden.

Wer kann mir helfen?
Besten Dank im vorraus

egon10
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Programm Outlook beenden, wenn Postausgang leer ist1.691Egon1002.01.12 16:36

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