Mause ve Klavye kitleme yada Windowsu Kitleme
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Re: Mause ve Klavye kitleme yada Windowsu Kitleme
Yeni sorun Win kitlendi ama form daki timerlarda çalışmıyor geri sayım saniyem var örneğin 180sn sonra windows kapıtılacak şeklinde.Yada Flash disk tekrar takıldığında projenin çalışması lazım bunları timerdan kontrol ediyorum bu bir akıllı tahta uygulaması olacak flash diskle tahta devrede flas disk çekilince tahta kitlenecek 180 sn sonrada da kapanacak.Aradaki win kitleme hem açılışta hem kapanışta pc ayarlarına yada tahta kullanımını yasaklaması mantığı olacak.Sadece klavye ve mause kitlesek (
Re: Mause ve Klavye kitleme yada Windowsu Kitleme
Kod: Tümünü seç
procedure hideTaskbar;
var wndHandle : THandle;
wndClass : array[0..50] of Char;
begin
StrPCopy(@wndClass[0], 'Shell_TrayWnd');
wndHandle := FindWindow(@wndClass[0], nil);
ShowWindow(wndHandle, SW_HIDE); // This hides the taskbar
end;
function MouseHook(code: Integer; wp: wParam; lp: lParam): LRESULT; stdcall;
begin
result:=1;
end;
function LLKeyHookFunc(HookCode: Integer; KeyCode: wParam; kStrokeInfo: lParam): LResult; stdcall;
begin
result:=1;
end;
procedure KeybdHook;
const
WH_KEYBOARD_LL = 13;
begin
KH := SetWindowsHookEx(WH_KEYBOARD_LL, @LLKeyHookFunc, hInstance, 0);
end;//
Açmak için 2.bir forma
Kod: Tümünü seç
procedure showTaskbar;
var wndHandle : THandle;
wndClass : array[0..50] of Char;
begin
StrPCopy(@wndClass[0], 'Shell_TrayWnd');
wndHandle := FindWindow(@wndClass[0], nil);
ShowWindow(wndHandle, SW_RESTORE); // This restores the taskbar
end;
function MouseHook(code: Integer; wp: wParam; lp: lParam): LRESULT; stdcall;
begin
result:=0;
end;
function LLKeyHookFunc(HookCode: Integer; KeyCode: wParam; kStrokeInfo: lParam): LResult; stdcall;
begin
result:=0;
end;
procedure KeybdHook;
const
WH_KEYBOARD_LL = 13;
begin
KH := SetWindowsHookEx(WH_KEYBOARD_LL, @LLKeyHookFunc, hInstance, 0);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Application.ShowMainForm:= False;
ShowWindow(Application.handle, SW_HIDE);
ShowCursor(true);
MH := SetWindowsHookEx(WH_MOUSE_LL, @MouseHook, hInstance, 0);
KeybdHook;
showtaskbar;
end;
Başka bir şekli ile Anaform(form2 mause kitli olarak gelen) usb takıldığında ki bu usb kısmı tamam form2 yi kapatarak form1 deki kodları çalıştıracak(form1 mause kilidi açılıyor).Usb çıkartıldığında tekrar form2 ana ekrana geri dönecek.mauseyi kitleyecek.Bu iki kodu kitleyen form açan form şeklinde düşündüm ama bu iki kodda tek formda olabilir belki mausenin 1 ve 0 olamama durumu tek formdada olabilir belki ama procedure çakışması olur.
İstediğim kodlar bunlardı fakat kontrol edemiyorum.Birinden diğerine geçemiyorum.Aç kapa aç kapa gibi