簡體   English   中英

我可以從 64 位 C# Winforms 應用程序調用 MAPI32.DLL > MAPISendMail 嗎?

[英]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):

  • x64 或 x86 本機
%windir%\system32\mapi32.dll
  • x86 開啟魔獸模式
%windir%\syswow64\mapi32.dll

您可以在在 32 位和 64 位平台上構建 MAPI 應用程序一文中閱讀更多相關信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM