草庐IT

com-state

全部标签

java - 获取与 COM 端口相关的设备/驱动程序信息?

我有一个串口转USB设备,在Windows设备管理器中有一个类似名称的设备驱动程序。这些设备并不总是在系统启动时占用相同的COM端口,因此我的程序需要在启动时识别它。我试过使用RXTX枚举系统上的COM端口,但这没有用,因为CommPortIdentifier.getName()只是返回COM名称(例如COM1、COM2等)我需要获取驱动程序制造商名称或出现在设备管理器中的驱动程序名称,并将其与COM名称相关联。这可以用Java轻松完成吗?(我会对支持此功能的任何第3方Java库感兴趣。)否则,我如何通过win32API开始完成此操作? 最佳答案

windows - 为什么我要使用 "Both"COM 线程模型而不是 "Free"?

根据thisarticle如果我使用“两者”或“自由”线程模型注册我的COM对象,该对象必须是完全线程安全的。具体来说,所有对全局共享变量的访问都必须同步,所有对成员变量的访问也必须同步。这是很大的努力。现在我明白能够将我的对象注册为使用“免费”线程模型是有利的,并且可能值得付出使其完全线程安全的代价。但是为什么我要做同样的事情并使用“两者”线程模型注册我的对象呢?会有什么好处?如何在“两者”和“免费”之间做出选择? 最佳答案 双线程模型将组件标记为支持线程模型“Both”的主要原因是为了在从单线程单元(STA)调用组件时提高性能。

c# - 列出可用的 COM 端口

我有一个非常小的代码可以显示可用的COM端口。我的问题是:有没有一种简单的方法可以让程序在托盘中运行,并且仅在新的COM端口可用时弹出,并且是否可以添加您可以在设备管理器中看到的COM端口的名称ec“USBserial港口”?我经常添加/删除一个USB->RS232转换器,这让我很头疼,因为我必须进入设备管理器才能看到它分配给了哪个COM端口。每次都不一样也许已经有一个小应用程序可以做到这一点,但我还没有在谷歌上找到它usingSystem;usingSystem.Windows.Forms;usingSystem.IO.Ports;namespaceAvailable_COMport

windows - 完全从头开始编写 COM 对象?

我刚开始一份涉及大量COM编程的新工作。到目前为止,通过继续我作为开发人员的旅程中学到的COM基础知识,我做得还不错,但我是那种需要了解一切的人。整天与COM打交道让我很烦,因为我不知道这些东西是如何工作的。是否有从头开始创建基本COM对象的简单演练?我的意思是一切。没有VisualStudio,没有ATL。只有编译器和记事本。 最佳答案 您应该阅读来自CodeProject的这篇文章:COMinplainCCOMinplainC,part2COMinplainC,part3COMinplainC,part4COMinplainC,

windows - .com、.exe 和 .bat 之间的区别?

a.bat、a.com和a.exe扩展名之间有什么区别? 最佳答案 最初,.COM文件是8086代码(即16位x86)的文字blob。它旨在加载到固定地址,加载程序将直接跳转到其地址的第一个字节。它的大小也有限制。.EXE文件有更多的头信息。因此它需要诸如动态链接之类的结构,其中DLL中的代码可以在加载时修补到.EXE的内存空间中。它最初来自DOS,但现在用于window。然而,DOS和Windows最终采用了一种模型,其中.COM和.EXE中的文件扩展名没有任何意义。程序加载器首先检查文件的前两个字节。如果它恰好是字符串MZ(le

windows - "COM"、 "USB"、 "Serial Port"有什么区别?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。这个问题似乎不是关于aspecificprogrammingproblem,asoftwarealgorithm,orsoftwaretoolsprimarilyusedbyprogrammers的.如果您认为这个问题是关于anotherStackExchangesite的主题,您可以发表评论,说明问题可能在哪里得到解答。关闭7年前。Improvethisquestion我对这3个概念感到困惑。我的理解是,SerialPort通常表示RS-232兼容端口(RS=RecommendedStandard)

windows - 如何防止 Windows 缓存 Com Class 信息?

Windows7正在缓存一些COM类信息。较旧的操作系统没有这样做。操作系统查找HKCU\Software\Classes\CLSID\{GUID}\LocalServer32值后,它会缓存该值,不再查找。当我们更新我们的软件时,我们将新的更新放在不同的目录中,然后更新HKCU\Software\Classes\CLSID\{GUID}\LocalServer32值以反射(reflect)新路径。下次软件运行时,如果运行在较旧的Windows操作系统下,它将使用最新的文件。但是,在Windows7上,它将继续使用旧文件,直到操作系统重新启动。我运行了进程监视器,发现在Windows7下

android - 在 Instant App 中应用插件 'kotlin-android' 会导致 "null cannot be cast to non-null type com.android.build.gradleBasePlugin"

我一直在尝试将新发布的AndroidInstantApps与Kotlin编程语言结合起来。使用以下(标准?)设置创建我的项目后,我在尝试时收到错误消息"nullcannotbecasttonon-nulltypecom.android.build.gradle.BasePlugin"构建应用程序。使用Kotlin可以与标准'com.android.application'模块配合使用;只有当我尝试在InstantApp模块中使用它时才会引发错误。顶级build.gradle:buildscript{repositories{maven{url'https://maven.google.

android - 在 Instant App 中应用插件 'kotlin-android' 会导致 "null cannot be cast to non-null type com.android.build.gradleBasePlugin"

我一直在尝试将新发布的AndroidInstantApps与Kotlin编程语言结合起来。使用以下(标准?)设置创建我的项目后,我在尝试时收到错误消息"nullcannotbecasttonon-nulltypecom.android.build.gradle.BasePlugin"构建应用程序。使用Kotlin可以与标准'com.android.application'模块配合使用;只有当我尝试在InstantApp模块中使用它时才会引发错误。顶级build.gradle:buildscript{repositories{maven{url'https://maven.google.

java.lang.ClassCastException : com. sun.proxy.$Proxy219 无法转换为 org.springframework.data.redis.connection.StringRedisConnection

这是redis的一个函数,pipeline。以前用过,今天测试这个功能的时候。它不起作用。publicListhgetpipeline(Listkeys){Listresults=redisTemplate.executePipelined(newRedisCallback(){@OverridepublicObjectdoInRedis(RedisConnectionconnection)throwsDataAccessException{StringRedisConnectionstringRedisConn=(StringRedisConnection)connection;fo