PDA

View Full Version : غیر فعال کردن start menu یا taskbar



Mahdiyeh_R
سه شنبه 19 بهمن 1389, 21:42 عصر
سلام
من می خوام از زدن کلید پنجره روی صفحه کلید جلوگیری کنم.
برای اینکار یه کد از اینترنت گرفتم که صفحه کلید رو هوک میکنه ولی مشکل داره.
اگه کسی می تونه اصلاحش کنه یا اگر راه دیگه ای برای غیر فعال کردن منوی استارت بلده بگه
مرسی

using System.Runtime.InteropServices;using System.Security.Principal;using System.Diagnostics;

Here’s the rest what you need:
12345678910111213141516171819202122232425262728293 03132333435363738394041424344454647484950515253545 55657585960[DllImport("user32", EntryPoint = "SetWindowsHookExA", CharSet = CharSet.Ansi, SetLastError = true, ExactSpelling = true)] public static extern int SetWindowsHookEx(int idHook, LowLevelKeyboardProcDelegate lpfn, int hMod, int dwThreadId); [DllImport("user32", EntryPoint = "UnhookWindowsHookEx", CharSet = CharSet.Ansi, SetLastError = true, ExactSpelling = true)] public static extern int UnhookWindowsHookEx(int hHook); public delegate int LowLevelKeyboardProcDelegate(int nCode, int wParam, ref KBDLLHOOKSTRUCT lParam); [DllImport("user32", EntryPoint = "CallNextHookEx", CharSet = CharSet.Ansi, SetLastError = true, ExactSpelling = true)] public static extern int CallNextHookEx(int hHook, int nCode, int wParam, ref KBDLLHOOKSTRUCT lParam); public const int WH_KEYBOARD_LL = 13; /*code needed to disable start menu*/ [DllImport("user32.dll")] private static extern int FindWindow(string className, string windowText); [DllImport("user32.dll")] private static extern int ShowWindow(int hwnd, int command); private const int SW_HIDE = 0; private const int SW_SHOW = 1;public struct KBDLLHOOKSTRUCT { public int vkCode; public int scanCode; public int flags; public int time; public int dwExtraInfo; } public static int intLLKey; public 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, blnEat = ((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)) | ((lParam.vkCode == 73) && (lParam.flags == 0)); break; } if (blnEat == true) { return 1; } else { return CallNextHookEx(0, nCode, wParam, ref lParam); } }public void KillStartMenu() { int hwnd = FindWindow("Shell_TrayWnd", ""); ShowWindow(hwnd, SW_HIDE); }private void Form1_Load(object sender, EventArgs e) { intLLKey = SetWindowsHookEx(WH_KEYBOARD_LL, LowLevelKeyboardProc, System.Runtime.InteropServices.Marshal.GetHINSTANC E(System.Reflection.Assembly.GetExecutingAssembly( ).GetModules()[0]).ToInt32(), 0); }

csharpprogramer88
سه شنبه 19 بهمن 1389, 22:10 عصر
سلام
http://www.barnamenevis.org/showthread.php?221966-%D9%81%D8%B9%D8%A7%D9%84-%D9%83%D8%B1%D8%AF%D9%86-%D8%AD%D8%A7%D9%84%D8%AA-auto-hide-%D9%86%D9%88%D8%A7%D8%B1-%D9%88%D8%B8%D9%8A%D9%81%D9%87-%D9%BE%D8%B3-%D9%86%D8%B4%D8%A7%D9%86-%D8%AF%D8%A7%D8%AF%D9%86-%D8%A7%D9%88%D9%84%D9%8A%D9%86-%D9%81%D8%B1%D9%85

امیدوارم مفید باشه
موفق باشید

Mahdiyeh_R
چهارشنبه 20 بهمن 1389, 20:08 عصر
ممنون دوست عزیز ولی من مخفی کردن رو نمیخواستم میخواستم کلا غیر فعال بشه
برای این کار EXPLORER.EXE رو بستم و با اتمام برنامه دوباره اجراش کردم
بازم ممنون