hook到了本进程的webbrowser的RegQueryValueEx函数。
hook到了本进程的webbrowser的RegQueryValueEx函数。
怎么修改返回值???
function myRegQueryValueEx(hkey:HKEY; Lpvaluename:PansiChar; lpreserved:Pointer; lptype:pdword;lpdata:Pbyte;lpcbdata:Pdword):LongInt; stdcall;var s: string; Flen:dword;begin Result := oldRegQueryValueEx(hkey,Lpvaluename,lpreserved,lptype, lpdata, lpcbdata); if pos(lpvaluename, 'mykey') > 0 then begin form1.Memo1.Lines.Add(pchar(lpdata)); s := 'newvalue'; Flen:=length(s); Move(s[1],lpdata^,flen); lpcbdata^:=FLen; form1.Memo1.Lines.Add(pchar(lpdata));//lpdata的值是变了。不过webbrowser调用时的值没变 end;end;