我有此P/Invoke RegSetValueExW將該值設置爲註冊表項。在C#如何將具有整數值的(byte [] lpData)傳遞給RegSetValueExW P/Invoke
[DllImport("coredll.dll", EntryPoint = "RegSetValueExW")]
public static extern int RegSetValueExW(uint hKey, string lpValueName,
uint lpReserved,
uint lpType,
byte[] lpData,
uint lpcbData);
我遇到了第四個參數byte [] lpdata的問題。我需要傳遞一個值爲5(int)的DWORD。如果我傳遞一個字符串(REG_SZ),一切都可以,只需要使用GetBytes函數進行轉換即可。
如果我叫GetBytes會(「5」)也將其轉換爲ASCII值的53 所以它的註冊表值,而不是5
這很危險 - 如果值大於255,肯定不會工作。 – 2009-01-14 16:24:54