我正在EXE文件中实现COM服务器。准确地说,我正在向现有应用程序添加COM接口(interface)。最终目标是使应用程序自动化。第一个组件和一个接口(interface)(目前只有一个方法)基本就位。我可以在DLL中构建进程内服务器并成功获取接口(interface)指针并调用该方法。这是第一步,因为我只是在学习。我以后不需要DLL;它只是作为概念证明,我的组件和接口(interface)基本上没问题。然后我在EXE中构建了一个进程外服务器。我已经到了可以从客户端调用CoCreateInstance()的地步,然后启动EXE,注册其工厂,然后工厂创建组件的实例。CoCreateIn
我正在寻找一种解决方案,以编程方式将Com+组件属性->事务支持修改为“不支持”手动步骤如下:打开组件服务对话框(comexp.msc)展开组件服务->计算机->我的电脑查找并展开COM+QCDeadLetterQueueListener在打开的组件中展开文件夹Components找到组件QC.DLQListener并打开该组件的上下文菜单并选择属性在“属性”屏幕上,选择“交易”选项卡并将交易支持设置为不支持点击“确定”保存更改 最佳答案 在我花了几个小时解决这个问题之后,我终于在C#上找到了解决方案。我从以下文章中获得了深刻的见解
我正在尝试将称重机与PHP连接起来。我已经用super终端测试过它工作正常。但是当我将PHP代码与fopen或dio_open一起使用时,它会被执行,但是当fgets或dio_read是调用,它挂起并且不显示任何内容。打开示例exec('modecom2:BAUD=2400PARITY=Ndata=8stop=1xon=on');$fp=fopen("COM2:","r");if(!$fp){echo"Uh-oh.Portnotopened.";}else{echofgets($fp);fclose($fp);}DIO示例exec('modeCOM2:baud=2400data=8st
我正在升级一个带有COM自动化接口(interface)的Delphi软件项目,以简化一些批处理任务(通过WSH脚本)。这本身很容易......但是,软件的大多数“实际”用户不需要(甚至不知道)这个界面,我想让他们免于注册COM-Server或错误消息当程序无法启动com服务器时弹出(目前该软件没有安装程序-它只是复制并运行。注册任何东西对用户来说都是一个额外的步骤。它是内部的,所以客户已经习惯了。..).真正的问题是:我能否以编程方式查明运行该软件的当前用户是否有足够的权限来注册COM服务器,然后(如果没有)避免尝试创建服务器?我想要一种行为,当用户没有足够的权限时,自动化服务器就不
我有一个WindowsC#应用程序。该应用程序通过串行端口连接到RFID读卡器。虽然我默认给它COM端口3。我遇到了用户端口不可用并且他正在使用的端口与他的Windows操作系统不同的情况。我的应用程序确实为用户提供了更改COM端口的能力,但是要找到他们的操作系统正在使用哪个COM端口,用户需要转到设备管理器并进行检查,新手可能不太适应。有没有一种功能或方法可以准确地找到我的RFID卡在Windows中连接到哪个端口,以便我可以简单地显示如下:应用程序端口设置为:COM....操作系统上的设备连接端口:COM....另外我的目标框架是3.5编辑1:尝试使用SerialPort.GetP
所以我有如下内容:在我的main.c中HANDLE*hCom;success=openport(hCom);ReadFile(hCom......)//ThisProducesGarbledResultsopenport()函数:intopenport(HANDLE*hCom){hCom=CreateFile(......)ReadFile(hCom......)//ThisProducesGoodResultsreturn0;}当我在我的openport()函数中读取命令时,一切正常,但如果我在我的main.c中使用hCom,我会得到垃圾。我的问题是,我做错了什么/遗漏了什么?如有任
我有一个查询当前Outlooksession的PowerShell脚本。仅在未提升的PowerShell窗口中运行它会像预期的那样工作,但是当我在提升的提示中时它会失败,如下所示:“正常”session:PS>New-Object-ComOutlook.ApplicationApplication:System.__ComObjectClass:0Session:System.__ComObjectParent:Assistant:Name:OutlookVersion:15.0.0.4903COMAddIns:System.__ComObjectExplorers:System.__
我已经对我的问题进行了搜索和谷歌搜索,但我仍然没有找到答案。我的问题是当通过PHPPDO/ODBC连接连接到我的SQLServer数据库时,我总是收到错误消息:“[Microsoft][ODBCDriverManager]SQL_HANDLE_ENV上的驱动程序SQLAllocHandle失败,SQLConnect中的SQL状态IM004”.但是我与Oracle或MySQL数据库的连接完全没有问题,只有SQLServer数据库。这是我测试连接的代码:$dbh=null;try{$dbh=newPDO('oci:dbname='.TNS,DB_USERNAME,DB_PASSWORD,n
我正在尝试创建一个允许标准TCP/IP套接字像COM端口一样使用的Windows驱动程序。我知道有许多现有产品可以做到这一点,但找不到关于它实际如何完成的引用资料!我了解Windows驱动程序的一些概念(总线/函数/筛选器驱动程序、驱动程序堆栈等),并尝试阅读有关WDF的书,但如果没有实际内容,我仍然不能100%确定从哪里开始支持硬件。如果有人有任何有用的链接/指针,我们将不胜感激。卡扎尔 最佳答案 看看com0com项目。他们还提供com2tcp驱动程序。由于它是开源的,您可以浏览源代码并了解它是如何完成的。实际上,这不是一个驱动
我们有几个与COM端口、USB等交互的遗留组件。我想创建一个.NET程序来模拟COM端口并记录流量,将其中继到某处的WCF服务端点或直接进入数据库。也许还可以像装饰器模式一样包装一个真正的COM端口。我环顾四周,找到了Sourceforge项目Com0Com,但它是相当古老的API和c++。我意识到我可以通过创建一个行式打印机驱动程序来解决这个特定问题,而不是真正与系统中注册的COM端口进行交互。一些链接也将受到高度赞赏。有人做过吗?如何在.NET中创建系统资源? 最佳答案 您必须编写驱动程序,这就是Com0Com的工作原理。如果这