[英]Can I call MAPI32.DLL > MAPISendMail from a 64-bit C# Winforms application?
我已將 32 位 WinForms 應用程序轉換為 64 位,但不確定調用 MAPI32.DLL > MAPISendMail 會發生什么? 我不認為您可以直接從 64 位調用 32 位 dll,但我想我會看到會發生什么。 奇怪的是,它似乎有效,但我不知道它是否安全。
DLL 調用如下:
[DllImport("MAPI32.DLL")]
public static extern int MAPISendMail(IntPtr session, IntPtr hwnd, MapiMessage message, int flg, int rsv);
//...fill in message
// Call the API
int error = Mapi32.MAPISendMail(IntPtr.Zero, IntPtr.Zero, message, Mapi32.MAPI_DIALOG, 0);
從 64 位 WinForms 應用程序執行此操作是否安全,或者我只是幸運它沒有崩潰?
是的,它是安全的。 將從適當的系統目錄使用和加載適當的庫(mapi32.dll):
%windir%\system32\mapi32.dll
%windir%\syswow64\mapi32.dll
您可以在在 32 位和 64 位平台上構建 MAPI 應用程序一文中閱讀更多相關信息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.