не все, размер буфера у него равен 0, а должен быть nSize.Admin wrote:Если вы используете Delphi2009 и выше - вместо PChar надо использовать PAnsiChar (как в VMProtectSDK.pas, так и в определении pBuf):И, собственно, как его получать ? Примеры только на Сях (
Я попытался получить на Delphi.Все остальное правильно.Code: Select all
function VMProtectGetCurrentHWID(Buffer:PAnsiChar; BufferLen: Cardinal): Integer; stdcall; ... var pBuf:PAnsiChar; ...
вот так правильно:
Code: Select all
[b]function VMProtectGetCurrentHWID(Buffer:PAnsiChar; BufferLen: Cardinal): Integer; stdcall;[/b]
...
procedure TForm1.Button1Click(Sender: TObject);
var pBuf:PAnsiChar;
nSize:Integer;
begin
nSize:=VMProtectGetCurrentHWID(nil,0);
GetMem(pBuf,nSize);
try
VMProtectGetCurrentHWID(pBuf,nSize); //<<<<<<<<
Memo1.Lines.Add(pBuf);
finally
FreeMem(pBuf);
end;
end;