| الموضوع السابق | الموضوع التالي |
الغرض
قراءة معلومات من سجل النظام (Windows Registry) في حاسوب آخر على الشبكة.
الصيغة
function ReadRegString(const RegSubKeyHandle: HKEY;
const Name: string): string;
function ReadRegInteger(const RegSubKeyHandle: HKEY;
const Name: string): Integer;
function ReadRegBool(const RegSubKeyHandle: HKEY;
const Name: string): Boolean;
function ReadRegFloat(const RegSubKeyHandle: HKEY;
const Name: string): Double;
function ReadRegCurrency(const RegSubKeyHandle: HKEY;
const Name: string): Currency;
function ReadRegDateTime(const RegSubKeyHandle: HKEY;
const Name: string): TDateTime;
function ReadRegDate(const RegSubKeyHandle: HKEY;
const Name: string): TDate;
الوسائط (Parameters)
| RegSubKeyHandle | مقبض المفتاح الفرعي الذي تقع تحته القيمة المطلوب قراءتها. هذا المقبض يجب أن يكون قد تم الحصول عليه سابقاً بالدالة OpenRemoteSubKey (انظر موضوع الوصول إلى معلومات بعيدة) | |
| Name | اسم القيمة المطلوب قراءتها |
الشرح
بعد استعمال الدالة ConnectToRemoteRegistry لتأسيس اتصال بأحد المفاتيح الأساسية في سجل نظام الحاسوب البعيد، و استعامل الدالة OpenRemoteSubKey لفتح المفتاح الفرعي الذي يحتوي على القيمة أو القيم التي تريد قراءتها، استعمل الدوال المذكورة أعلاه لقراءة القيم من سجل النظام لذلك الحاسوب. من الواضح أن اسم الدالة يدل على نوع البيانات التي تستطيع فراءتها، فمثلاً الدالة ReadRegString تستعمل لقراءة قيمة نصية (String)، و الدالة ReadRegDate تستعمل لقراءة قيمة تاريخ (Date)، ... إلخ.
تبقى نقطة أخيرة و مهمة و هي أن أياً من الدوال المذكورة هنا، أو دوال الوصول إلى معلومات بعيدة أو إجراءات كتابة المعلومات البعيدة قد تفشل إذا كانت قيود الأمان المطبقة على سجل النظام في الحاسوب البعيد لا تسمح بمثل تلك العمليات.
مثال
const
APP_REGISTRY_KEY = 'software\Daniyah Software Center\SchoolMoney0100SE';
REG_SK_GENERAL = APP_REGISTRY_KEY + '\General';
var
RegKeyHandle, RegSubKeyHandle: HKEY;
SchoolYear: Integer;
LastUser: string;
begin
try
if ConnectToRemoteRegistry('\\DANIYAH-CENTER',
HKEY_CURRENT_USER, RegKeyHandle) then begin
try
if OpenRemoteSubKey(RegKeyHandle, REG_SK_GENERAL,
RegSubKeyHandle) then begin
SchoolYear := ReadRegInteger(RegSubKeyHandle,
'SchoolYear');
MsgBox(IntToStr(SchoolYear));
LastUser := ReadRegString(RegSubKeyHandle,
'LastUser');
MsgBox(LastUser);
WriteRegString(RegSubKeyHandle, 'LastUser',
'ناجي إبراهيم');
// Result3 := ReadRegXXX ....
// ....
end;
finally
CloseRemoteSubKey(RegSubKeyHandle);
end;
end;
finally
DisconnectRemoteRegistry(RegKeyHandle);
end;
end;
أعلى الصفحة
| الموضوع السابق | الموضوع التالي |