|
| |

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 |  |
 Programm Outlook beenden, wenn Postausgang leer ist | 128 | Egon10 | 02.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 |
  |
|
sevOutBar 4.0 
Vertikale Menüleisten á la Outlook
Erstellen von Outlook ähnlichen Benutzer- interfaces - mit beliebig vielen Gruppen und Symboleinträgen. Moderner OfficeXP-Style mit Farbverläufen, Balloon-Tips, u.v.m. Weitere Infos
Tipp des Monats Mai 2012 Dietrich HerrmannEinsatz einer DimmingFormEs wird eine Form vorgestellt, mit deren Hilfe man den gesamten Bildschirm auf verschiedene Arten mit transparenter Farbe überdecken und nur eine eigene Form im Vordergrund zeigen kann. Access-Tools Vol.1 
Über 400 MByte Inhalt
Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB
Nur 24,95 EURWeitere Infos |