delphi4arab منتديات دلفي للعرب

نسخة كاملة : كيف تغير id الجهاز ؟
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم

كيف لي تغير id الجهاز بواسطة edit1 ؟؟
بحيث اضع id جديد في edit1 و بعد الضغط على زر1 يتغير
كمعلومات مسبقة : تمكنت من استخراج id الجهاز برمجيا من الريجستري
و قد وجدت شروحات مسبقة بتغير id انطلاقا من regedit و هنا تنقصني فكرة التغير
و عليكم السلام و رحمة الله
لمعرفةID الجهاز
كود :
function TForm1.GetReadString(SelectRootKey: HKEY; SelectKey: string; Name: string): string; begin with TRegistry.Create do begin try RootKey := SelectRootKey; OpenKey(SelectKey, False); Result := ReadString(name); finally Free; end; end; end;
كود :
Edit1.Text:=GetReadString(HKEY_LOCAL_MACHINE, 'SOFTWARE\Microsoft\Windows\CurrentVersion', 'ProductId');
لتغييرID الجهاز
كود :
procedure TForm1.SetWriteString(SelectRootKey: HKEY; SelectKey: string; NewValueName: string; Value: string); begin with TRegistry.Create do begin try RootKey := SelectRootKey; OpenKey(SelectKey, True); WriteString(NewValueName, Value); finally Free; end; end; end;
كود :
SetWriteString(HKEY_LOCAL_MACHINE, 'SOFTWARE\Microsoft\Windows\CurrentVersion', 'ProductId', Edit1.Text);
لم أجربها بعد
حذار يجب عليك إعادة تشغيل نسخة الويندوز
بالتوفيقSmile
مشكور اخي paix144 لكن هناك خطأ
تفضل بمشاهدة طريقة الكود التي كتبتها و الخطأ في :

كود :
procedure TForm1.Button2Click(Sender: TObject); begin with TRegistry.Create do begin try [color=Red] RootKey := SelectRootKey;[/color] OpenKey(SelectKey, True); WriteString(NewValueName, Value); finally Free; end; end; end; SetWriteString(HKEY_LOCAL_MACHINE, 'SOFTWARE\Microsoft\Windows\CurrentVersion', 'ProductId', Edit1.Text); end;
لا يوجد خطأ أخي
الدالة
كود :
procedure TForm1.SetWriteString(SelectRootKey: HKEY; SelectKey: string; NewValueName: string; Value: string); begin with TRegistry.Create do begin try RootKey := SelectRootKey; OpenKey(SelectKey, True); WriteString(NewValueName, Value); finally Free; end; end; end;
هنا لاستدعاء الدالة
كود :
procedure TForm1.Button1Click(Sender: TObject); begin SetWriteString(HKEY_LOCAL_MACHINE, 'SOFTWARE\Microsoft\Windows\CurrentVersion', 'ProductId', Edit1.Text); end;
راجع دروس الدورة
بالتوفيق اخيSmile
جرب ما في المرفقات اخي
بارك الله فيك اخي و جزاك الله كل الخير 100/100