Delphi CreateOleObject

Delphi CreateOleObject,delphi,ole,hwid,Delphi,Ole,Hwid,有没有办法让CreateOleObject在Delphi表单应用程序中工作?我知道它需要ComObj,我猜这可能意味着它只能用于控制台应用程序。如果我不能在表单应用程序中使用它,是否有其他方法可以使用 为了给出上下文,出于识别的原因,我正在尝试获取计算机的HWID。根据指南(使用Console),我需要执行以下操作: objSWbemLocator := CreateOleObject('WbemScripting.SWbemLocator'); objWMIService := objSW

有没有办法让
CreateOleObject
在Delphi表单应用程序中工作?我知道它需要ComObj,我猜这可能意味着它只能用于控制台应用程序。如果我不能在表单应用程序中使用它,是否有其他方法可以使用

为了给出上下文,出于识别的原因,我正在尝试获取计算机的HWID。根据指南(使用Console),我需要执行以下操作:

objSWbemLocator := CreateOleObject('WbemScripting.SWbemLocator');
objWMIService   := objSWbemLocator.ConnectServer('localhost','root\cimv2', '','');
这在控制台中很好,但我需要使用表单,这样我的用户就可以更容易地访问它


重申一下;有没有办法在非控制台应用程序中实现这一点?如果没有,还有其他选择吗?

CreateOleObject
在表单应用程序中运行良好。这不是问题。

CreateOleObject
在表单应用程序中工作正常。这不是问题。

我想我的库设置一定有问题。由于某种原因,ComObj在表单应用程序上显示错误。很抱歉,如果你给我们看你所有的代码,告诉我们错误是什么,我相信我们可以帮助确定真正的问题是什么。我想我找到了问题所在。事实上,我有ComObj库,它正在使用中,但出于某种原因,我的ComObj库具有除
CreateOleObject
之外的所有正常功能。它一定是我的版本或者别的什么,但是只有一个功能缺失是很奇怪的。ComObj是产品的一部分。您不应该修改它。@ozdrgnaDiies,您应该使用$include file,而不是出于可移植性的原因直接修改单位。我想我的库设置一定有问题。由于某种原因,ComObj在表单应用程序上显示错误。很抱歉,如果你给我们看你所有的代码,告诉我们错误是什么,我相信我们可以帮助确定真正的问题是什么。我想我找到了问题所在。事实上,我有ComObj库,它正在使用中,但出于某种原因,我的ComObj库具有除
CreateOleObject
之外的所有正常功能。它一定是我的版本或者别的什么,但是只有一个功能缺失是很奇怪的。ComObj是产品的一部分。您不应该修改它。@ozdrgnadie,您应该使用$include file,而不是出于可移植性的原因直接修改单位。