3
注:我正在使用德爾福XE2爲什麼RegSetValueEx只添加一半字符串?
我想添加一個註冊表項。這裏是我當前的代碼:
function AddRegKey(Key:HKEY;Keyname,Value:String):Boolean;
var
phkResult:HKEY;
begin
if RegOpenKeyEx(Key, PWideChar('SOFTWARE\Microsoft\Windows\CurrentVersion\Run'), 0, KEY_SET_VALUE, phkResult) = ERROR_SUCCESS then
begin
Result := (RegSetValueEx(phkResult, PWideChar(KeyName), 0, REG_SZ, PWideChar(Value), Length(Value)) = ERROR_SUCCESS);
RegCloseKey(phkResult);
end
else Result:=False;
end;
begin
If AddRegKey(HKEY_CURRENT_USER,'TestTest','123456789') Then
MessageBox(0,'Success','Test',0);
end.
這是導致如下:
它只是增加了前四個字符
但是,當我改變「值」參數到:
123456789123456789
然後它增加:
123456789
所以看起來好像它只是由於某種原因增加了給定值的一半。我該如何解決這個問題?
我是傳遞了錯誤的數據類型爲函數RegSetValueEx的*的lpData參數?
感謝偉大的答案!我現在知道了。 :捂臉: –