bir proje var ve bu projede ekran görüntüsünün alınması istenmiyor. Formun Onkey Press ve OnKeyDown olaylarına PrnScr tuşunun değeri olan 44 tuşa basşıldığında şunu yap diyoz ama işlem yapmıyor. Yani
if key=#44 Then
Begin
Showmessage('Ekran Görüntüsü Alınamaz');
End;
Satırları işlemiyor. Aynı işlemi
if key=Vk_(Ekran Tuşunun adı) Then
Begin
Showmessage('Ekran Görüntüsü Alınamaz');
End;
kodları çalışmıyor...Acaba neden ??
Ekran Görüntüsünün Alınmasını Engellemek hk.
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Selam.
Şu link yardımcı olabilir:
viewtopic.php?t=15007&highlight=kbdllhookstruct
Kolay gelsin...
(Not: Tüm harfleri büyük yazmak forumda biraz garip karşılanır)
Şu link yardımcı olabilir:
viewtopic.php?t=15007&highlight=kbdllhookstruct
Kolay gelsin...
(Not: Tüm harfleri büyük yazmak forumda biraz garip karşılanır)
- Hocam bunu engellemenin yolu yok. Zamanlayıcı ile bir başka program bunu çok kolay halledektir.
- Dilediğin pencerenin resmini alıp dilediğin resim formatında dosyalaması için bir program hemen yazabilirim istersen... Bilmem demek istediğimi ifade edebildim mi...
- Engellemek yerine espirili bir yaklaşımda bulunsan çok hoş olurdu.
- Şimdi aklıma geldi ve senin için minik bir çalışma hazırladım. Bu çalışmayı bir dene seveceksin.
Gelen mesaj şu olacak..

Clipboard'daki resme baktıklarında süprizle karşılaşılacak...

- USES kısmına ClipBrd eklemeyi unutma...
- Dilediğin pencerenin resmini alıp dilediğin resim formatında dosyalaması için bir program hemen yazabilirim istersen... Bilmem demek istediğimi ifade edebildim mi...
- Engellemek yerine espirili bir yaklaşımda bulunsan çok hoş olurdu.

- Şimdi aklıma geldi ve senin için minik bir çalışma hazırladım. Bu çalışmayı bir dene seveceksin.
Gelen mesaj şu olacak..

Clipboard'daki resme baktıklarında süprizle karşılaşılacak...


- USES kısmına ClipBrd eklemeyi unutma...
Kod: Tümünü seç
procedure TForm1.FormCreate(Sender: TObject);
begin
KeyPreview := True;
end;
// Uses ClipBrd; yazmayı unutma...
Procedure SuprizYap();
Var
Resim : TBitmap;
Clip : TClipBoard;
Mesaj : String;
begin
Mesaj := 'Ekran Görüntüsü Almak Yasaktır...!';
Resim := TBitmap.Create;
Resim.Width := 1024;
Resim.Height := 768;
Resim.Canvas.Brush.Color := clBlue;
Resim.Canvas.Font.Color := clYellow;
Resim.Canvas.Font.Name := 'Times New Roman';
Resim.Canvas.Font.Size := 48;
Resim.Canvas.TextOut( (Resim.Width-Resim.Canvas.TextWidth(Mesaj)) div 2 , (Resim.Height- Resim.Canvas.TextHeight(Mesaj)) div 2, Mesaj);
Clip := TClipBoard.Create;
Clip.Assign( Resim );
Clip.Free;
Resim.Free;
end;
procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
if Key = VK_SNAPSHOT then begin
Key :=0;
SuprizYap();
ShowMessage( 'Programda Print Screen Tusu Kullanılamaz...');
end;
end;
Ne zaman "mümkün değildir" diyen görsem muhalif tavır alıp, programcılıkta mümkün değil yoktur deme isteği duyuyor, çoğunlukla da diyorum.
- Şimdi kendi savımı çürütmek için alternatif bir method buldum. Zaten eskiden DivXTurk projemde Web sayfasından mouse ile resim kopyala dediğinizde programıma almak üzere resimler için uyguladığım bir method idi. Buraya uygulamak zor olmadı.
- Aşağıdaki başlıktaki soruya cevap olarak yazdım. İnceleyip kullanın.
Ref : viewtopic.php?p=110368#110368

- Şimdi kendi savımı çürütmek için alternatif bir method buldum. Zaten eskiden DivXTurk projemde Web sayfasından mouse ile resim kopyala dediğinizde programıma almak üzere resimler için uyguladığım bir method idi. Buraya uygulamak zor olmadı.
- Aşağıdaki başlıktaki soruya cevap olarak yazdım. İnceleyip kullanın.
Ref : viewtopic.php?p=110368#110368
Ulu Coder arkadaşa öncelikle tşk ederim. verdiği link çok işe yaradı. Diper cevap yazan arkadaşlara da tşk ederim tabii. Benim için önemli olan bilgiayardan ekran görüntüsünün alınmaması idi. Diğer türlü eğer foto makınası ile görüntü alınacaksa en azından o benim sorumluluğumda olmaz. Ben üzerime düşeni yapmış olurum...
Tekrardan tşk ederim hepinize...
Tekrardan tşk ederim hepinize...
