السلام عليكم ورحمة الله وبركاته ..
كيف يمكننا عمل استثناء للتحكم في الرجيستري في قسم اذا كان النظام يمنع الكتابة في هذا القسم دون موافقة المستخدم ؟
جزاكم الله كل خير
أولا لن تسطيع عمل أي شيء بدون صلاحية كاملة في regedit
هل تقصد تشغيل البرنامج بشكل عادي إلا في حال توجه الى regedit
وعليكم السلام
لايمكن هذا لانه هناك حمايه بلانظمه الحديثه
لهذا يجب تشغيل الملف كـ مسؤل
هذا كود يشغل كـ مسؤل
كود :
function RunAsAdmin(hWnd: HWND; filename: string; Parameters: string): Boolean;
{
See Step 3: Redesign for UAC Compatibility (UAC)
http://msdn.microsoft.com/en-us/library/bb756922.aspx
}
var
sei: TShellExecuteInfo;
begin
ZeroMemory(@sei, SizeOf(sei));
sei.cbSize := SizeOf(TShellExecuteInfo);
sei.Wnd := hwnd;
sei.fMask := SEE_MASK_FLAG_DDEWAIT or SEE_MASK_FLAG_NO_UI;
sei.lpVerb := PChar('runas');
sei.lpFile := PChar(Filename); // PAnsiChar;
if parameters <> '' then
sei.lpParameters := PChar(parameters); // PAnsiChar;
sei.nShow := SW_SHOWNORMAL; //Integer;
Result := ShellExecuteEx(@sei);
end;
للمزيد
http://www.delphi4arab.net/forum/search....hid=545742
إقتباس :هل تقصد تشغيل البرنامج بشكل عادي إلا في حال توجه الى regedit
نعم اخي هذا هو طلبي
اخ ماريو ممكن شرح اكثر وهل يتطلب الاذن عند كل تشغيل ؟
إقتباس :أولا لن تسطيع عمل أي شيء بدون صلاحية كاملة في regedit
أخي الكريم لقد رأيت الكثير من البرامج التي لديها دعم في الريجستري دون صلاحيات المسؤول برأيك ما السر في ذلك ؟
نعم يتطلب الاذن عند كل تشغيل
اعتقد يوجد طريقه اخرى
وهيه اضافه قيمه الى الريجستري
للبرنامج ويصبح مسؤل
الحمايه وضعت حتى لايتم التلاعب بلريجستري