Delphi'deki kayıt defterindeki binary
değeri olarak saklanan bir GUID değerini okumayı deniyorum. BintoHex ile okuduğumda, ancak sonuç ters sırada. Bayt takas etmek zorundayım ama BinToHex'in bunu yapacağını düşündüm. Okuma kayıt defterindeki GUID değeri
var
s : string;
buffer : pointer;
...
begin
getmem(buffer, 1024*1024);
....
reg.ReadBinaryData(iValueOfregistry, buffer^, 1024*1024);
....
bintohex(pointer(longint(buffer)+14), PChar(s), 32);
Çıktı: Aşağıda
, sen burada
kayıt
saklanan GUID görebilirsiniz benim kodudur 90E24D373F126545916439C4925E467BGUID FOLDERID_Downloads GUID olmalıdır:
{374DE290-123F-4565-9164-39C4925E467B}
GUID, ikili kayıt defteri değerinde depolanan tek şey değil. Yani, bir arabellekte okumak ve bu tamponda $ e konumunda TGUID okumak zorundayım. Arabellek ("$ e" konumunda) bir "hareket" inden şüpheleniyorum, bayt-byte kopyası olduğu için GUID bu işi yapmaz. Bu doğru mu? Ne öneriyorsun David? – user382591
A 'Move' işi mükemmel şekilde yapacak. Verileri bir "TGUID" üzerine karıştırın ve iş bitti. "PGUID" için bir oyuncu kullanmadan hareketsiz yapılabilir. En son güncelleme size nasıl olduğunu gösterir. –
David, sen benim Guru'msın – user382591