Blokada! || rejestr

0

Czy mozna a jeśli tak to jak??.Zablokować funkcję zmiany rozdzielczości w Windowsie!!.Chodzi mi oto aby można było ją zmienic tylko z poziomu programu o nazwie np. X.exe!!.Z góry dzieki!!.
user image


Jak usunac błędne i puste wpisy z rejestru po klinięciu na buttona??.Próbowałem już wszystkiego i zaraz mi włosy z głowy wypadną!!.

0

na 100% w rejestrze zmienia się klucz i gdy klikniesz prawym na pulpit żeby zmienić coś to nie będzie tej zakładki gdzie zmienia się rozdzielczość(ustawienia). Nie pamietam ścieżki do tego klucza.
Jakiego masz windowsa?

0

Witam.
Pacnij na forme buttona, 2 Edity i zadeklaruj 2 zmienne globalne X i Y typu Integer a teraz procedurki:

procedure TForm1.FormCreate(Sender: TObject);
begin
X := GetSystemMetrics(SM_CXSCREEN); // pobranie rozdzielczosci
Y := GetSystemMetrics(SM_CYSCREEN);
end;

procedure TForm1.Timer1Timer(Sender: TObject);
var
Mode: TDeviceMode;
begin
X1 := GetSystemMetrics(SM_CXSCREEN);
Y1 := GetSystemMetrics(SM_CYSCREEN);

if (X X1) or (Y Y1) then
begin
with Mode do
begin
dmSize:=SizeOf(Mode);
dmPelsWidth:=X;
dmPelsHeight:=Y;
dmFields:=DM_PELSWIDTH+DM_PELSHEIGHT;
ChangeDisplaySettings(Mode,0);
end;
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
X := StrToInt(Edit1.Text);
Y := StrToInt(Edit2.Text);
end;

W Edit1 wpisujesz nowa rozdzielczosc X a w 2 rozdz. Y.
UWAGA! wpisane rozdzielczosci musza byc standardami, np. 600x480, 800x600, 1024x768 itp. Nie probowalem co sie stanie jak sie wpisze inne ale pewnie beda jakies bledy, albo program zwisnie, albo sie procek spali;). zmieniajac inteval timera zmnirejszasz czestotliwosc sprawdzania czy rozdzielczosc sie zmienila, ale za to masz mniejsze obciazenie procesorka:). To chyba tyle z racji wylasnienia.

BTW. Ciekawi mnie po co Ci ten program. Jakbys mogl to odpisz w tym temacie albo napisz mi na gg 3137343.

1 użytkowników online, w tym zalogowanych: 0, gości: 1