Delphi - 在 Windows 中枚举 SATA IO 端口号
给你一个新的。 我正准备帮助另一位程序员将他的程序从 C# 移植到 Delphi。 我无法真正阅读 C#,他此时也没有向我发送实际源代码,因此从讨论来看,我认为我将一次从一个函数的角度来解决大部分问题。
我需要能够获取连接到系统的所有 SATA 设备(我相信我的意思是设备)的 IO 端口号。 我知道 WMI 不会这样做,所以我不知道从哪里开始。 我知道这个应用程序的 C# 版本使用基本上解析注册表的 C# 类。 我一直不愿意直接从注册表中读取数据。 我觉得如果可能的话,从 windows api 或相关的信息获取信息在 windows 版本之间更可靠。
New one for you. Im getting ready to help another programmer port his program from C# to Delphi. I cant truly read C# nor has he sent me actual source at this point so from discussion i think im going to be tackling most of this from a one function at a time standpoint.
I need to be able to get the IO Port Numbers for all SATA devices (I believe i mean devices) connected to the system. I know WMI wont do it so im not sure where to start on this one. I know the C# version of this app uses a C# class that basically parses the registry. Ive always been icky about directly reading from the registry. I feel that getting the information from windows api or related is more reliable between windows versions if possible.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果原始版本正在读取注册表,而您正在移植该功能,那么读取注册表对我来说似乎是一个完全有效的解决方案?
顺便说一句,Delphi 有来自单元registry.pas 的TRegistry 类。 您可以使用它来读取和写入注册表。 默认情况下,您在 Vista 上要求所有权限(读/写..),这可能是一个问题,因此如果您打算只读,请务必打开只读。
键值:
这些实际上是由基本值组成的集合:
If the original is reading the registry, and you are porting the function, reading the registry looks like a perfectly valid solution to me?
By the way, Delphi has the class TRegistry from the unit registry.pas. You can use that to read and write the registry. By default you are asking for all the rights (read/write..) on vista this can be a problem, so be sure to open readonly if you are planning to read only.
Key values:
These are actually sets made of the basic values: