Wer schon mit der MAPI.DLL zu tun hatte der weiß, das
es mit der Materie nicht so einfach ist. Denn jedes Mail öffnen, hat eine eigne
Sessionnummer, diese ist nur in dieser Sitzung gültig und wenn man z.Bsp einen Notifyer
nebenher laufen lassen will, der nur über neue Nachrichten informiert, dann hilft es also
gar nichts eine neues Session aufzumachen, die ist nicht für eine schon aktive
Mailsession gültig.
Also ich hab damals das Handtuch geworfen, weil das Programm zwar im Prinzip lief, aber zu
unsicher war. Sollten Sie aber notgedrungen oder aus lieber langer Weile sich mit der
Thematik auseinander setzen müssen oder wollen, dann haben wir hier zumindestens etwas,
das Ihnen die Arbeit abnimmt zu ermitteln, ob der Mailclient schon gestartet ist oder
nicht. (nur 16Bit Client).
mailaktv.mak
MAILAKTV.FRM
ProjWinSize=152,402,248,215
ProjWinShow=2
Title="MAILAKTV"
ExeName="MAILAKTV.EXE"
mailaktv.frm
VERSION 2.00
Begin Form Form1
BorderStyle = 3 'Fixed Double
Caption = "VB-Homepage Tipp"
ClientHeight = 840
ClientLeft = 2970
ClientTop = 4290
ClientWidth = 2670
Height = 1245
Left = 2910
LinkTopic = "Form1"
ScaleHeight = 840
ScaleWidth = 2670
Top = 3945
Width = 2790
Begin CommandButton Command1
Caption = "Prüfe, ob MS Mail aktiv"
Height = 375
Left = 120
TabIndex = 0
Top = 120
Width = 2415
End
Begin Label Label1
Alignment = 2 'Center
BackStyle = 0 'Transparent
Caption = "nur MS Mail 16Bit Client"
FontBold = 0 'False
FontItalic = 0 'False
FontName = "MS Sans Serif"
FontSize = 8.25
FontStrikethru = 0 'False
FontUnderline = 0 'False
Height = 255
Left = 120
TabIndex = 1
Top = 600
Width = 2415
End
End
Declare Function GetModuleHandle Lib "Kernel" (ByVal lpModuleName As String) As
Integer
Sub Command1_Click ()
x = IsMicrosoftMailRunning()
If x <> 0 Then
MsgBox "MS Mail ist aktiv"
Else
MsgBox "MS Mail nicht aktiv"
End If
End Sub
Private Function IsMicrosoftMailRunning ()
On Error GoTo IsMicrosoftMailRunning_Err
IsMicrosoftMailRunning = GetModuleHandle("MSMAIL")
IsMicrosoftMailRunning_Err:
If Err Then
MsgBox "MS Mail nicht aktiv"
End If
End Function
Um den Code zu nutzen, erstellen Sie sich mit einem Editor Dateien, die Sie wie angegeben
benennen und fügen den Quellcode ein. Starten Sie nun die *.vbp Datei oder öffnen Sie
das Projekt aus VB heraus. |