PDA

View Full Version : خواندن و نوشتن در رجیستری (Registry) ویندوز، چگونه؟



ramin_rp
پنج شنبه 20 شهریور 1382, 12:32 عصر
سلام
1-چطوری میشه برنامه ای نوشت که یک چیزی را تو رجیستری بنویسه و بهد هم اونو چک کنه
2-برنامه ای ک بیشتر از یک بار اجرا نشه.
با تشکر
رامین :oops:

Mashatan
پنج شنبه 20 شهریور 1382, 13:42 عصر
در مورد Registry من چند وقت پیش یه نمونه برنامه گذاشتم اینجا ! شما اگر توی Help دلفی به دنبال Tregistry بگردید میتونید به جوابتون برسید !

در مورد اینکه برنامه یک بار اجرا بشه راه های مختلفی وجود داره یک راه ساده اش اینه !


const
A1: array[0..12] of char = 'TForm'#0;
T1: array[0..20] of char = 'Project'#0;

var
h:HWND;

begin

h:=FindWindow(A1, T1);
if h<>0 then begin
EnableWindow(h,True);
BringWindowToTop(h);
ShowWindow(h,SW_RESTORE);
Halt;
end;

Application.Initialize;
Application.Title := 'MyProject';
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
البته باید در Design Time در Caption Form اصلی از عبارتی بجز Project استفاده کنید و بعد از شرط اولیه Caption رو به اسم مورد نظر برگردونید .

ارادتمند مشاطان

ramin_rp
جمعه 21 شهریور 1382, 15:48 عصر
سلام
متشکرم.

شفیعی
پنج شنبه 21 اسفند 1382, 06:22 صبح
سلام
اگر بخواهیم عملیات زیر را با استفاده ا ز دلفی در رجیستری انجام دهیم باید چکار کرد



http://www.barnamenevis.org/forum/viewtopic.php?t=7023
برای اینکه این مشکل را حل کنید regedit را اجرا کنید و به آدرس
Hkey_local_machine>software>microsoft>jet>engine>xbase>codepage
بروید و مقدار oem را به ansi تبدیل کنید یقیننا مشکل حل خواهد شد بعد از انجام کار حتما مقدار مذکور را به حال اول برگردانید

moradi_am
پنج شنبه 21 اسفند 1382, 08:00 صبح
با این کد میتوانید . درضمن در help مثالهای دیگری وجود دارد :



var
Reg: TRegistry;
begin
Reg := TRegistry.Create;
try
Reg.RootKey := HKEY_LOCAL_MACHINE;
if Reg.OpenKey('\software\microsoft\jet\engine\xbase\ codepage', False) then
begin
Reg.WriteString('oem','ansi');
Reg.CloseKey;
end;
finally
Reg.Free;
inherited;
end;

end;

شفیعی
جمعه 22 اسفند 1382, 04:29 صبح
خیلی ممنون

said ali
یک شنبه 24 اسفند 1382, 11:30 صبح
با سلام
اقای مشاطان اون اسم فرم و برنامه رو برای چی ریختید تو یه ارایه و تهش رو هم یه 0# گذاشتید.
مگه خود String یه ارایه از کاراکترها نیست؟؟