当前位置: 首页 > 编程语言 > C#

用c#启动Outlook分享

时间:2023-04-11 03:29:11 C#

用c#启动Outlook可以在代码中用C#启动Outlook吗?在VB6中,我们使用对象'Outlook.Application'并编写:'SetoOutlook=CreateObject("Outlook.Application")SetoNameSpace=oOutlook.GetNamespace("MAPI")SetoInbox=oNameSpace.Folders(1)'SetoInbox=oInbox.Folders("Inbox")oInbox.Display'oOutlook.Quit'关闭所有Outlook副本复制/粘贴链接:http://www.ozgrid.com/forum/showthread.php?id=oOutlook.Quitt=73886如果你只想开始展望;使用System.Diagnostics.Process是最简单的方法。?System.Diagnostics.Process只会启动一个进程。要执行选择文件夹等其他操作,您需要使用MicrosoftVisualStudioToolsforOffice(VSTO)。这是它的参考。例如:varoutlook=newMicrosoft.Office.Interop.Outlook.ApplicationClass();outlook.Quit();您可以使用其ProgID获取类型和激活器类型objectType=Type.GetTypeFromProgID("Outlook.Application");objectoutlook=Activator.CreateInstance(objectType);但在C#中使用它会丢失所有类型信息(即没有IntelliSense),你需要调用一些丑陋的方法来调用LateBinding的操作(谷歌的Type.Invoke)其他选项是添加对Microsoft.Office.Interop.Outlook.ApplicationClass的引用,所以你有编译时类型信息,并使用Microsoft.Office.Interop.Outlook以通常的方式为Outlook创建一个实例;Microsoft.Office.Interop.Outlook.ApplicationClassoutlook=newMicrosoft.Office.Interop.Outlook.ApplicationClass();或者您可以使用我的LateBindingHelper库并像这样使用它Invokeroutlook=BindingFactory.CreateAutomationBinding("Outlook.Application");outlook.Method(“退出”)。调用();没有Intellisense,但至少该库将使您免于对Type.Invoke的丑陋调用,并为您提供流畅的界面。这行得通(你可能需要更改应用程序将运行的计算机上的路径):以上是关于C#学习教程:使用c#共享启动Outlook的所有内容,如果它对每个人都有用并且需要进一步了解C#学习教程,希望大家多多关注—publicstaticvoidStartOutlookIfNotRunning(){stringOutlookFilepath=@"C:ProgramFiles(x86)MicrosoftOfficeOffice12OUTLOOK.EXE";如果(Process.GetProcessesByName("OUTLOOK").Count()>0)返回;流程process=newProcess();process.StartInfo=newProcessStartInfo(OutlookFilepath);过程。开始();}本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: