64Bit MAPI

10/01/2010 - 10:27 von Karsten Heddenhausen | Report spam
Moin, moin!

Ich suche nach einer Möglichkeit zu erkennen, ob ein 32Bit oder 64Bit
Outlook installiert ist. Sprich ob der Zugriff mit der 32Bit MAPI
klappt.

Ich habe jetzt bei mir das 64Bit Win7 und das 64Bit Office 2010 Beta am
laufen und das gibt derzeit immer so eine dàmliche Fehlermeldung, wenn
ich mit der 32Bit MAPI auf das 64Bit Outlook zugreifen will.

Gruß, Karsten
 

Lesen sie die antworten

#1 Juergen Thuemmler
10/01/2010 - 12:07 | Warnen spam
Hallo Karsten,

besorge Dir das Fensterhandle vom Outlook (FindWindow) und rufe damit die
nachstehende Funktion auf, dann weißt Du's.

Jürgen.

Declare Function IsWow64Process& Lib "kernel32" (ByVal hProcess&,
Wow64Process&)
Declare Function GetWindowThreadProcessId& Lib "user32" (ByVal hwnd&,
lpdwProcessId&)
Declare Function OpenProcess& Lib "kernel32" (ByVal dwDesiredAccess&, ByVal
bInheritHandle&, ByVal dwProcessId&)
Declare Function CloseHandle& Lib "kernel32" (ByVal hObject&)
Const PROCESS_QUERY_INFORMATION& = (&H400)

Function IsWin64(hwnd&) As Boolean
Dim dl&, ph&, pid&

'If WinVersion < 6 Then Exit Function '# vor XP

Call GetWindowThreadProcessId(hwnd, pid)
ph = OpenProcess(PROCESS_QUERY_INFORMATION, 0, pid)
Call IsWow64Process(ph, dl)
If dl = 0 Then IsWin64 = True
CloseHandle ph
End Function

Ähnliche fragen