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

نسخة كاملة : كود سورس للبحث في Registry/Registre
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2
السلام عليكم
هذا كود سورس للبحث في و هو ليس من برمجتي Registry/Registre
وعليكم السلام ورحمة الله
مثال رائع أخي paix144
كنت أبحث عنه Smile، جزاك الله كل خير
ما رأيك بالاقتراحات Wink :
- بعد استخدام TListView عوض TMemo لتخزين نتائج البحث...
- إضافة إجراء القفز إلى مفتاح معين في الـ Registry بعد نقر مزدوج، يمكن استخدام شيء مثل:
PHP كود :
uses
  ShellAPI
;

procedure TForm1.JumpToKey(Key: string);
var
  
i, n: Integer;
  
hWin: HWND;
  
ExecInfo: ShellExecuteInfoA;
begin
  hWin 
:= FindWindowA(PChar('RegEdit_RegEdit'), nil);
  if 
hWin = 0 then
  
{if Regedit doesn't run then we launch it}
  begin
    FillChar(ExecInfo, 60, #0);
    with ExecInfo do
    begin
      cbSize := 60;
      fMask  := SEE_MASK_NOCLOSEPROCESS;
      lpVerb := PChar('
open');
      lpFile := PChar('
regedit.exe');
      nShow  := 1;
    end;
    ShellExecuteExA(@ExecInfo);
    WaitForInputIdle(ExecInfo.hProcess, 200);
    hWin := FindWindowA(PChar('
RegEdit_RegEdit'), nil);
  end;
  ShowWindow(hWin, SW_SHOWNORMAL);
  hWin := FindWindowExA(hWin, 0, PChar('
SysTreeView32'), nil);
  SetForegroundWindow(hWin);
  i := 30;
  repeat
    SendMessageA(hWin, WM_KEYDOWN, VK_LEFT, 0);
    Dec(i);
  until i = 0;
  Sleep(500);
  SendMessageA(hWin, WM_KEYDOWN, VK_RIGHT, 0);
  Sleep(500);
  i := 1;
  n := Length(Key);
  repeat
    if Key[i] = '
\' then
    begin
      SendMessageA(hWin, WM_KEYDOWN, VK_RIGHT, 0);
      Sleep(500);
    end
    else
      SendMessageA(hWin, WM_CHAR, Integer(Key[i]), 0);
    i := i + 1;
  until i = n;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  JumpToKey('
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer');
end; 
بالتوفيق.
السلام عليكم أخي الكريم
إقتراح جميل
لقد قمت بمحاولة إجراء تعديل بإدراج TListView لكن لم تنجح
كود :
var List:TListItem; begin List:=listview1.Items.Add; List.SubItems.Add(Format('%s (%s)', [Key, TypeLabels[FindType]]));
وعليكم السلام ورحمة الله
أخي الكريم paix144
أرفق المشروع بعد تنظيفه (أرفق الملفات الضرورية فقط)، وسأحاول فيه إن شاء الله.
جيد أخي
ها هو التعديل و لكن لم ينجح
هنالك فيه أسطر لكن الناتج لا يظهر
بعض التعديلات الصغيرة...
هناك خلل يمنع القفز إلى المفاتيح
ينقصها الفصل بين الـ Key و الـ Value
أخي paix144 إليك الخط :bye1:
بالتوفيق.
السلام عليكم
جميل أخي كاش واحد
سأقوم بالتعديل غدا إن شاء الله
أنا منهك
ممكن توضح أكثر أخي؟
وعليكم السلام ورحمة الله
يعيد الإجراء OnRegSearchFind من خلال المعلمة Key المسار الكامل للمفتاح (currPath)+قيمة المفتاح (keys)
لاحظ من مصدر المكون:
كود :
FOnFind(self, soKeyName, CompletePath(ARegistry, [color=Red]currPath + '\' + keys[i][/color]));
ينبغي الفصل بينهما، ليتم تخزين كل واحد على حدة.
حاول أكثر بالتوفيق أخي.
السلام عليكم
شئ مثل هذا أخي ؟
كود :
var reg : TRegistry; begin Reg := TRegistry.Create; Reg.RootKey := HKEY_LOCAL_MACHINE; Reg.OpenKey('SOFTWARE\Microsoft\Windows\CurrentVersion',false); Reg.ReadString('LastRegisteredAppPath'); Reg.GetKeyNames(ListBox1.Items); Reg.GetValueNames(ListBox2.Items); Reg.Free end
السلام عليكم
أخي كاش واحد لم أنجح في عمل المطلوب :rtfm3:
إن كانت لديك فكرة فتفظل
الصفحات : 1 2