İçeriğe geç
ShiftDelete.Net
Haber ara/ SDN'ye SorGiriş
Haber Akışı SDNTV İnceleme Forum Yapay Zeka Akıllı Telefon Elektrikli Otomobil Oyun ShiftDelete.Net Global Teknoloji Haberleri Mobil Otomobil Donanım Savunma Bilim Sosyal Medya İnternet Giyilebilir Teknoloji Rehber Ürünler Son dakika Yazarlar
  1. Ana sayfa
  2. Topluluk
  3. Programlama
  4. Programlama Dilleri
Programlama Dilleri

Vb.net kısayol tuşları

hakanozkoc22.03.20104 cevap3.221 görüntüleme
#1
Yaptığım program da kılavyenın kısal yollarını engellemek istiom yani kullanıcı masaüstüne ulaşamıyacak asla sadece bir kısayol olacak onlada yetkili kişi şifreyi girip masaüstüne ulaşabilecek bunu nasıl yapabilirim.
Cevaplar
hakanozkoc Konuyu açan
#2
Lütfen yardım :(:(
#3
msdn'de bulduğum bir kod.dene bakalım.

namespace BlockShortcuts 
{ 
    public partial class Form1 : Form 
    { 
        public Form1 () 
        { 
            InitializeComponent (); 
        } 

        private delegate int LowLevelKeyboardProcDelegate ( int nCode , int 
           wParam , ref KBDLLHOOKSTRUCT lParam ); 

        [ DllImport ( "user32.dll" , EntryPoint = "SetWindowsHookExA" , CharSet = CharSet . Ansi )] 
        private static extern int SetWindowsHookEx ( 
            int idHook , 
            LowLevelKeyboardProcDelegate lpfn , 
            int hMod , 
            int dwThreadId ); 

        [ DllImport ( "user32.dll" )] 
        private static extern int UnhookWindowsHookEx ( int hHook ); 

        [ DllImport ( "user32.dll" , EntryPoint = "CallNextHookEx" , CharSet = CharSet . Ansi )] 
        private static extern int CallNextHookEx ( 
            int hHook , int nCode , 
            int wParam , ref KBDLLHOOKSTRUCT lParam ); 

        const int WH_KEYBOARD_LL = 13 ; 
        private int intLLKey ; 
        private KBDLLHOOKSTRUCT lParam ; 

        private struct KBDLLHOOKSTRUCT
        { 
            public int vkCode ; 
            int scanCode ; 
            public int flags ; 
            int time ; 
            int dwExtraInfo ; 
        } 

        private int LowLevelKeyboardProc ( 
            int nCode , int wParam , 
            ref KBDLLHOOKSTRUCT lParam ) 
        { 
            bool blnEat = false ; 
            switch ( wParam ) 
            { 
                case 256 : 
                case 257 : 
                case 260 : 
                case 261 : 
                    //Alt+Tab, Alt+Esc, Ctrl+Esc, Windows Key 
                    if ((( lParam . vkCode == 9 ) && ( lParam . flags == 32 )) || 
                    (( lParam . vkCode == 27 ) && ( lParam . flags == 32 )) || (( lParam . vkCode == 
                    27 ) && ( lParam . flags == 0 )) || (( lParam . vkCode == 91 ) && ( lParam . flags
                    == 1 )) || (( lParam . vkCode == 92 ) && ( lParam . flags == 1 )) || (( true ) && 
                    ( lParam . flags == 32 ))) 
                    { 
                        blnEat = true ; 
                    } 
                    break ; 
            } 

            if ( blnEat ) 
                return 1 ; 
            else return CallNextHookEx ( 0 , nCode , wParam , ref lParam ); 

        } 

        [DllImport("kernel32.dll")]
    private static extern IntPtr GetModuleHandle(IntPtr path);

    LowLevelKeyboardProcDelegate mHookProc;

    private void KeyboardHook(object sender, EventArgs e) {
      // NOTE: ensure delegate can't be garbage collected
      mHookProc = new LowLevelKeyboardProcDelegate(LowLevelKeyboardProc);
      // Get handle to main .exe
      IntPtr hModule = GetModuleHandle(IntPtr.Zero);
      // Hook
      intLLKey = SetWindowsHookEx(WH_KEYBOARD_LL, mHookProc, hModule, 0);
      if (intLLKey == IntPtr.Zero) {
        MessageBox.Show("Failed to set hook, error = " + Marshal.GetLastWin32Error().ToString());
      }
    }

        private void ReleaseKeyboardHook () 
        { 
            intLLKey = UnhookWindowsHookEx ( intLLKey ); 
        } 

        private void checkBox1_CheckedChanged ( object sender , EventArgs e ) 
        { 
            if ( checkBox1 . Checked ) 
                KeyboardHook ( this , e ); 
            else 
                ReleaseKeyboardHook (); 
        } 
    } 
}
hakanozkoc Konuyu açan
#4
bana vb.ne 2008 e göre bi yanıt lazım yıne saol:crying::crying:

Cevabını yaz

Cevap yazmak için giriş yap ya da üye ol. Eski forum kullanıcı adın ve parolanla girebilirsin.