在cmd
中,您可以调用c:\windows\system32\slmgr.vbs /skms <host>
来设置KMS服务器主机地址。是否可以使用C ++在Win32 API中执行相同的操作?我已经做过一些研究,发现了这一点:
我正在寻找ServerName
字符串吗?
答案 0 :(得分:0)
可通过slc.dll / Slpublic.h
(例如SLSetCurrentProductKey)获得许可API:
HRESULT SLSetCurrentProductKey(
HSLC hSLC,
const SLID *pProductSkuId,
const SLID *pProductKeyId
);
有关更多详细信息,请参见slpublic.h。
要更改KMS服务器地址,我认为您需要在注册表(HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform
)中对其进行更改,然后调用SlActivateProduct:
HRESULT SLActivateProduct(
HSLC hSLC,
const SLID *pProductSkuId,
UINT cbAppSpecificData,
const PVOID pvAppSpecificData,
const SL_ACTIVATION_INFO_HEADER *pActivationInfo,
PCWSTR pwszProxyServer,
WORD wProxyPort
);
不幸的是,这些位没有得到很好的记录...