ANASAYFA | BLOG | SORU CEVAP | REFERANSLARIM | DOWNLOAD | HAKKIMDA | İLETİŞİM | ARAMA
~~~SORU~CEVAP~~~
Gönderen: ~~FARUK UNAL~~
10.10.2013

Merhaba,, tam olarak ne yaptığınızı anlamadım, Browser a eklenti bir uygulama mı, yoksa yaptığınız uygulama içerisinde bir web browser mı yapıosunuz. İkinci ihtimal daha ağır geldi, o yuzden o şekilde açıklıyorum, eğer yanlış anlamışsam daha detaylı anlatın, yardımcı olmaya çalışırım.

Yeniden context menü eklemek yerine kısayol tuşlarını aktif edip, basılı tuşların kontrolünü yaparak eğer kullanıcı diğer kısayol bileşenlerinden birisine bastıysa işlemi iptal ettirebilirsiniz. Sadece tuş bileşeni Ctrl+C ve Ctrl+V olanlara çalışma hakkı tanımlayabilirsiniz.
Buradaki link ile Windows tuşunu engelleme yazıma erişip ordaki komutları inceleyebilirsiniz. Ordaki kodları kopyalayarak kendi projenizde kullanabilirsiniz. tek yapmanız gereken o projedeki 
 

if (objKeyInfo.key == Keys.RWin || objKeyInfo.key == Keys.LWin)
            {
                return (IntPtr)1;
            }

kısmını kendi istediğiniz kısayollara göre düzenlemek. İyi çalışmalar dilerim
Gönderen: Osman Anahtarcı
11.10.2013

Doğru anlamışsınız.

Yanlız ben sadece windows tuşunu engellemek istemiyorum.

 

Mesala örnek verecek olursa ben Control P (Yazdır kısayolu) kısayolunu engellemek istiyorum.Control N ve Control O yü engellemek istiyorum.

Fakat Control ve P tuşarlı tek başlarına çalışacaklar.Yani kullanıcı P tuşunu kullanabilecek fakat Control P ile yazdır yapamayacak.

Bunu nasıl yapabilirim.Sadece control tuşunu engellersen Control C yapamaz. Oyüzden kısayolu engellemek istiyorum.

Gönderen: Osman Anahtarcı
11.10.2013

Doğru anlamışsınız.

Yanlız ben sadece windows tuşunu engellemek istemiyorum.

 

Mesala örnek verecek olursa ben Control P (Yazdır kısayolu) kısayolunu engellemek istiyorum.Control N ve Control O yü engellemek istiyorum.

Fakat Control ve P tuşarlı tek başlarına çalışacaklar.Yani kullanıcı P tuşunu kullanabilecek fakat Control P ile yazdır yapamayacak.

Bunu nasıl yapabilirim.Sadece control tuşunu engellersen Control C yapamaz. Oyüzden kısayolu engellemek istiyorum.

Gönderen: ~~FARUK UNAL~~
12.10.2013
Zaten windows tuşunu engellemeyeceksiniz. o projedeki kısmı verdim ki, o projeden değişiklik yaparak kendinize göre düzenleyin. Mesela o if blogunu aşağıdaki gibi düzenlerseniz Control+P artık çalışmaz, ama normal sadece Control yada Control+C, Control+V fln çalışmaya devam eder. Aşağıdaki kodda Sadece yazdırma işini engellemiş oldum. 

if ((objKeyInfo.key == Keys.Control || objKeyInfo.key == Keys.ControlKey) && objKeyInfo.key == Keys.P)
                {
                    return (IntPtr)1;
                }
 
yada söylediğiniz gibi Ctrl+N ve Ctrl+O yu da bu engele dahil etmek istersek if kısmını şu şekilde düzenleyebiliriz.

if ((objKeyInfo.key == Keys.Control || objKeyInfo.key == Keys.ControlKey) && (objKeyInfo.key == Keys.P || objKeyInfo.key == Keys.N || objKeyInfo.key == Keys.O))

Burda yaptığımız  ilk kısımda CTRL kontrolü yapıyoruz, aradaki && ile Ctrl den başka bir tuşa daha basınca engelleme yapacağını belirtiyoruz, Ctrl ile birlikte hangi tuşa basıldığında engelleneceğini ise ikinci kısımda belirtiyoruz. Üstteki kodda CTRL+P, CTRL+N, CTRL+O işlemlerini engellemiş olduk. Windows tuşunu engelleme projesi üzerinde bu kısmı yukarda bahsettiğim gibi değiştirerek kontrol ettim. Çalışıyor. Eğer takılırsanız örnek bi proje de yollayabilirim. İyi çalışmalar dilerim

 
Gönderen: Osman Anahtarcı
13.10.2013

MErhabalar

Sizin windows tuşu örnek projenizini indirdim.

içine bir web browser ilave ettim.

if bloğunu yukarıdaki gibi değiştirdim.

Kontrol tuşunu Keys.Control yerine RControlKey olarak tanıyor.

test etmek için

return (IntPtr)1; yerine message box koydum.

fakat çalışmadı.

Siz bir örnek proje gönderebilirseniz çok sevinirim.

 

Gönderen: ~~FARUK UNAL~~
15.10.2013

Bayram dolayısıyla şehir dışındayım, daha sonra örnek bir proje yollarım, İyi bayramlar


Ad Soyad :
E-mail :
Cevap :
DoÄŸrulama Kodu