Çözüldü C# ile arka planda tuş çalıştırma

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

Mucosoft

Megapat
Katılım
5 Mart 2014
Mesajlar
5.593
Makaleler
12
Çözümler
41
C# ile LightShot benzeri fakat LightShot uygulamasına göre daha iyi bir uygulama geliştiriyorum. Uygulamayı notifyıcon objesi ile birlikte arka plana aldım yani formu gizledim. Arka plandayken tuşlara basınca işlem yapmasını istiyorum. Bunu nasıl yapacağım?

Şöyle bir örnek daha vereyim. Arka planda çalışan LightShot, CTRL + print screen tuşuna basınca seçtiğimiz alanı çekiyor. Ekranda istediğim bölgeyi çekme işlemini hallettim fakat dediğim gibi arka planda tuşa basma kısmını halledemedim.
 
Çözüm
Zaten ben bu yazılımı kendim için geliştiriyorum. LightShot uygulaması benim için yeterli değildi.

Tamam o zaman sorun yok :)
[DllImport("user32", SetLastError = true)] private static extern int RegisterHotKey(IntPtr hwnd, int id, int fsModifiers, int vk); [DllImport("kernel32", SetLastError = true)] private static extern short GlobalAddAtom(string lpString); // private const int MOD_ALT = 1; private const int MOD_CONTROL = 2; private const int MOD_SHIFT = 4; // void RegisterGlobalHotKey(Keys hotkey, int modifiers) { short hotkeyID = GlobalAddAtom(base.Name); RegisterHotKey(base.Handle, hotkeyID, modifiers, (int)hotkey); } protected override void WndProc(ref Message m) { base.WndProc(ref m); if (m.Msg == 0x312) { //yapılcaklar } } private void Form1_Load(object sender, EventArgs e) { RegisterGlobalHotKey(Keys.A, 1);//buradaki 1 "alt" tuşu demek yukarda ctrl ve "shift" in numarasıda yazıyor }

Klavyeyi sürekli dinlemeniz gerekiyor. Bu da güvenlik problemi ortaya çıkarır.
Tüm tuşları niye dinliyorsun? Lightshot sadece tek bir tuş üzerine listener ekliyor. En basitinden programlarda ctrl + z var. Bunun için adam tum klavye bilgilerini niye alsin? Adamın yapacagi tek şey Ctrl ve Z aynı anda çalışırsa bunu yap demek.
Zaten .NET kodları tersine mühendislik ile çözülebiliyor. Versem de vermesem de açık kaynağını çıkarırlar. 😂
Bu sadece .Net'e özel değil. Her teknoloji için geçerli.
 
Tüm tuşları niye dinliyorsun? Lightshot sadece tek bir tuş üzerine listener ekliyor. En basitinden programlarda ctrl + z var. Bunun için adam tum klavye bilgilerini niye alsin? Adamın yapacagi tek şey Ctrl ve Z aynı anda çalışırsa bunu yap demek.

Bu sadece .Net'e özel değil. Her teknoloji için geçerli.
.NET bu konuda biraz daha geride gibi. Bir uygulama sayesinde .NET kodlarını hemen çalmak mümkün. Güvenlik eklemezsek yazılım hızla kırılıyor.
 

Geri
Yukarı