|
Программирование >> Автоматически обновляемые приложения
[StructLayout(LayoutKind.Sequential)] public struct AppBarData { public int cbSize; public IntPtr hWnd; public int uCallbackMessage; public int uEdge; public RECT rc; public IntPtr IParam; IntPtr hWnd, ref RECT rect); [Dlllmport( shell32.dll )] private static extern int SHAppBarMessage( int flag, ref AppBarData abd); [Dlllmport( user32.dll )] static extern bool ShowWindow( IntPtr hWnd, int nCmdShow); [Dlllmport( user32.dll )] public static extern IntPtr SendMessage(IntPtr hWnd, UInt32 Msg, Int32 wParam, Int32 iParam); const int WM SYSCOMMAND = 0x0112; private const int SC TASKLIST = 0xF130; private const int ABM GETSTATE = 4; private const int ABM GETTASfCBARPOS = 5; private const int ABM SETSTATE = 10; private const int SW HIDE = 0; private const int SW SHOW = 5; состояние Панели задач private const int ABS AUTOHIDE = 1; private const int ABS ALWAYSONTOP = 2; private const int ABS BOTH = 3; private void butShowStart Click(object sender, EventArgs e) { Показываем ьснопку Пуск Showwindow(hWndStart, SW SHOW); private void butPressStart Click(object sender, EventArgs e) { Нажимаем на кнопку Пуск SendNessage(this.Handle, WM SYSCOMMAND, SC TASKLIST, 0); [StructLayout(LayoutKind.Sequential)] public struct RECT { public int left; public int top; public int right; public int bottom; Описатель Панели задач IntPtr hW; Описатель кнопки Пуск IntPtr hWndStart; Описатель области уведомлений IntPtr tray; private void butHideStart Click(object sender, EventArgs e) { Ищем окно с классом Shell TrayWnd hW = FindWindowEx(IntPtr.Zero, IntPtr.Zero, Shell TrayWnd ,null); Получим описатель кнопки Пуск hWndStart = FindWindowEx(hW, IntPtr.Zero, BUTTON , null); Прячем кнопку Пуск Showwindow(hWndStart, SW HIDE); private void butShowTray Click(object sender, EventArgs e) { ShowWindow(tray, SW SHOW); private void butHideClock Click(object sender, EventArgs e) { Описатель панели задач hW = FindWindowEx(IntPtr.Zero, IntPtr.Zero, Shell TrayWnd , null). Описатель области уведомлений tray = FindWindowEx(hW, IntPtr.Zero, TrayNotifyWnd , null); Описатель системных часов IntPtr trayclock = FindWindowEx(tray, IntPtr.Zero, TrayClockWClass , null); Прячем системные часы ShowWindow(trayclock, SW HIDE); private void butTaskbar Click(object sender, EventArgs e) { AppBarData bardata = new AppBarData(); bardata.cbSize = Marshal.SizeOf(typeof(AppBarData)); bardata.hWnd = Handle; int retval = SHAppBarMessage(ABM GETSTATE, ref bardata); switch (retval) private void butHideTray Click(object sender, EventArgs e) { hW = FindWindowEx(IntPtr.Zero, IntPtr.Zero, Shell TrayWnd , null); Дескриптор области уведомлений tray = FindWindowEx(hW, IntPtr.Zero, TrayNotifyWnd , null); Прячем область уведомлений ShowWindow(tray, SW HIDE);
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |