草庐IT

com-interop

全部标签

c# - 如何在 C# 中扫描 COM 端口?

C#是否提供扫描可用COM端口的有效方法?我想在我的应用程序中有一个下拉列表,用户可以在其中选择检测到的COM端口之一。创建和填充下拉列表不是问题。我只需要知道如何使用C#扫描可用的COM端口。 最佳答案 System.IO.Ports是你想要的命名空间。SerialPort.GetPortNames将列出所有串行COM端口。遗憾的是,C#不直接支持并行端口,因为它们很少使用,除非在遗留情况下。也就是说,您可以通过查询以下注册表项来列出它们:HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\PARALLEL

c# - 如何使用 Microsoft.Office.Interop.Word 创建 .docx 文档?

如何使用List中的Microsoft.Office.Interop.Word创建.docx文档?或者最好的方法是添加docx.dll?http://www.c-sharpcorner.com/UploadFile/scottlysle/using-the-docx-dll-to-programmatically-create-word-documents/更新。可能我的第一个问题有点不正确。Microsoft.Office.Interop.Word和DocX.dll有什么区别?在这两种情况下,我都需要MicrosftWord来创建和打开.docx文档吗?

c# - 通过 .NET 手动调用 COM 对象的方法

是否有手动方法在.NET的GAC中调用COM对象,而不将其添加为引用?我问的原因是我只知道如何在C#中编码并想调用.NETCOM对象并测试其CMO调用是否可见,但显然你不能将.NETCOM对象添加到.NET部件!因为你必须引用它,所以我想知道如果它通过c#代码手动注册到GAC中,你能调用它吗? 最佳答案 TypemyType=Type.GetTypeFromProgID("IMyLib.MyClass");objectobj=Activator.CreateInstance(myType);object[]args=newobjec

c# - 为 COM DLL 创建 .NET 包装器的工具?

是否有任何开源工具可以自动为COMDLL库生成.NET包装器? 最佳答案 在.NET中使用COM对象不需要包装器。在VisualStudio中,在解决方案资源管理器中右键单击您的项目名称,然后选择“添加引用”。任何已注册的COM对象都将列在COM选项卡中。只有在将.NET程序集用作COM对象时才需要互操作包装器,而不是像您在问题中描述的那样相反。 关于c#-为COMDLL创建.NET包装器的工具?,我们在StackOverflow上找到一个类似的问题: htt

c# - w3wp.exe 中出现未处理的 win32 异常

我在尝试加载ASP.NETMVC网站时遇到以下异常:Unhandledexceptionat0x07070a91inw3wp.exe:0xC0000005:Accessviolationreadinglocation0x00000000.VisualStudio即时调试器打开,我在调试器中看到的唯一信息是:Callstacklocation:msvbvm60.dll!06c00a91()该网站使用了一些COM对象,在上周之前一切正常。这个问题突然出现。这是来自Windows事件查看器的错误日志:Faultingapplicationname:w3wp.exe,version:7.5.7

C# 和 Excel Interop 问题,保存 excel 文件不流畅

我可以打开和写入excel文件,但是当我尝试通过传递路径来保存文件时,保存操作会提示保存对话框。我期待它能够将文件保存在指定路径代码如下:excelApp.Save(exportToDirectory);excelApp.Quit();其中,exportToDirectory是:“C:\files\strings.xlsx”。PS:我已经检查过excel版本和类似问题。谢谢 最佳答案 您需要使用Workbook.SaveAs而不是Application.Save:Excel.Applicationapp=newExcel.Appli

c# - 在 C# 中获取整数的高字节和低字节并将其作为 char 数组发送到 com 端口,如何?

在C中我会这样做intnumber=3510;charupper=number>>8;charlower=number&&8;SendByte(upper);SendByte(lower);其中upper和lower都=54在C#中我这样做:intnumber=Convert.ToInt16("3510");byteupper=byte(number>>8);bytelower=byte(number&8);charupperc=Convert.ToChar(upper);charlowerc=Convert.ToChar(lower);data="GETDM"+upperc+lowe

c# - 使用 COM 从注册表加载类适用于 ToolsVersion ="2.0"但因 ToolsVersion ="4.0"而失败

我有一个c#项目,它使用内部vb项目作为COM。当我将项目转换为VS2010时,以下行向我抛出异常:SetRTCClient_=NewRTCCORELib.RTCClientRTCCore.RTCClient是MicrosoftMergeModuleforRTC(RTC客户端API1.2)的一部分,您可以将其嵌入安装包(在我的例子中包括EXE)。RTCCore.RTCClient是在HKEY_CLASSES_ROOT\RTCCore.RTCClient下注册到注册表的类我得到的错误是:ERROR:AutomationerrorThespecifiedmodulecouldnotbefo

c# - 可以从 .NET 与 64 位 COM 服务器 (Photoshop) 交互吗?

我一直在尝试通过添加COM引用和后期绑定(bind)来编写一些代码来与Photoshop进行交互。我花了一段时间才意识到代码确实有效,但不适用于64位版本的Photoshop。我在64位Photoshop中得到的异常如下:COMExceptionwasunhandledRetrievingtheCOMclassfactoryforcomponentwithCLSID{D9389EDE-AEF8-4092-9377-075E94B7CB9A}failedduetothefollowingerror:80080005Serverexecutionfailed(ExceptionfromHR

c# - 在 C# 中使用分区在远程服务器上激活 COM+

我想访问远程服务器上的分区COM+应用程序。我试过这个:usingCOMAdminusingSystem.Runtime.InteropServices;_serverName=myRemoteServer;_partionName=myPartionName;_message=myMessage;ICOMAdminCatalog2catalog=newCOMAdminCatalog();catalog.Connect(_serverName);stringmoniker=string.Empty;stringMsgInClassId="E3BD1489-30DD-4380-856A-