0

给你一个新的。我准备帮助另一个程序员将​​他的程序从 C# 移植到 Delphi。我不能真正阅读 C#,他也没有在这一点上给我发送实际的源代码,所以从讨论中我认为我将在一个时间点从一个函数处理大部分问题。

我需要能够获取连接到系统的所有 SATA 设备(我相信我的意思是设备)的 IO 端口号。我知道 WMI 不会这样做,所以我不知道从哪里开始。我知道这个应用程序的 C# 版本使用基本上解析注册表的 C# 类。我一直很讨厌直接从注册表中读取。如果可能的话,我觉得从 windows api 或相关信息获取信息在 windows 版本之间更可靠。

4

1 回答 1

2

如果原件正在读取注册表,而您正在移植该功能,那么读取注册表对我来说似乎是一个完全有效的解决方案?

顺便说一句,Delphi 有来自单元 registry.pas 的类 TRegistry。您可以使用它来读取和写入注册表。默认情况下,您要求获得 vista 上的所有权限(读/写..),这可能是一个问题,因此如果您打算只读,请务必打开只读。

关键值:

KEY_READ
KEY_WRITE 
KEY_EXECUTE
KEY_ALL_ACCESS

这些实际上是由基本值组成的集合:

KEY_QUERY_VALUE       
KEY_SET_VALUE         
KEY_CREATE_SUB_KEY    
KEY_ENUMERATE_SUB_KEYS
KEY_NOTIFY     
KEY_CREATE_LINK
KEY_WOW64_32KEY
KEY_WOW64_64KEY
KEY_WOW64_RES
于 2009-03-21T07:40:57.053 回答