02-02-2010, 03:29 PM
الصفحات : 1 2
02-02-2010, 05:16 PM
وعليكم السلام ورحمة الله
مثال رائع أخي paix144
كنت أبحث عنه
، جزاك الله كل خير
ما رأيك بالاقتراحات
:
- بعد استخدام TListView عوض TMemo لتخزين نتائج البحث...
- إضافة إجراء القفز إلى مفتاح معين في الـ Registry بعد نقر مزدوج، يمكن استخدام شيء مثل:
بالتوفيق.
مثال رائع أخي paix144
كنت أبحث عنه
، جزاك الله كل خيرما رأيك بالاقتراحات
:- بعد استخدام 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;
02-02-2010, 11:19 PM
السلام عليكم أخي الكريم
إقتراح جميل
لقد قمت بمحاولة إجراء تعديل بإدراج TListView لكن لم تنجح
إقتراح جميل
لقد قمت بمحاولة إجراء تعديل بإدراج TListView لكن لم تنجح
كود :
var
List:TListItem;
begin
List:=listview1.Items.Add;
List.SubItems.Add(Format('%s (%s)', [Key, TypeLabels[FindType]]));03-02-2010, 07:37 PM
وعليكم السلام ورحمة الله
أخي الكريم paix144
أرفق المشروع بعد تنظيفه (أرفق الملفات الضرورية فقط)، وسأحاول فيه إن شاء الله.
أخي الكريم paix144
أرفق المشروع بعد تنظيفه (أرفق الملفات الضرورية فقط)، وسأحاول فيه إن شاء الله.
03-02-2010, 10:24 PM
جيد أخي
ها هو التعديل و لكن لم ينجح
هنالك فيه أسطر لكن الناتج لا يظهر
ها هو التعديل و لكن لم ينجح
هنالك فيه أسطر لكن الناتج لا يظهر
04-02-2010, 12:59 AM
بعض التعديلات الصغيرة...
هناك خلل يمنع القفز إلى المفاتيح
ينقصها الفصل بين الـ Key و الـ Value
أخي paix144 إليك الخط :bye1:
بالتوفيق.
هناك خلل يمنع القفز إلى المفاتيح
ينقصها الفصل بين الـ Key و الـ Value
أخي paix144 إليك الخط :bye1:
بالتوفيق.
04-02-2010, 09:05 PM
السلام عليكم
جميل أخي كاش واحد
سأقوم بالتعديل غدا إن شاء الله
أنا منهك
ممكن توضح أكثر أخي؟
جميل أخي كاش واحد
سأقوم بالتعديل غدا إن شاء الله
أنا منهك
ممكن توضح أكثر أخي؟
04-02-2010, 09:17 PM
وعليكم السلام ورحمة الله
يعيد الإجراء OnRegSearchFind من خلال المعلمة Key المسار الكامل للمفتاح (currPath)+قيمة المفتاح (keys)
لاحظ من مصدر المكون:
ينبغي الفصل بينهما، ليتم تخزين كل واحد على حدة.
حاول أكثر بالتوفيق أخي.
يعيد الإجراء OnRegSearchFind من خلال المعلمة Key المسار الكامل للمفتاح (currPath)+قيمة المفتاح (keys)
لاحظ من مصدر المكون:
كود :
FOnFind(self, soKeyName,
CompletePath(ARegistry, [color=Red]currPath + '\' + keys[i][/color]));حاول أكثر بالتوفيق أخي.
04-02-2010, 10:32 PM
السلام عليكم
شئ مثل هذا أخي ؟
شئ مثل هذا أخي ؟
كود :
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
end06-02-2010, 05:13 PM
السلام عليكم
أخي كاش واحد لم أنجح في عمل المطلوب :rtfm3:
إن كانت لديك فكرة فتفظل
أخي كاش واحد لم أنجح في عمل المطلوب :rtfm3:
إن كانت لديك فكرة فتفظل
الصفحات : 1 2