Климов Александр Петрович
Шрифт:
if (SystemSettings.ScreenOrientation != initialOrientation) {
try {
SystemSettings.ScreenOrientation = initialOrientation;
} catch (Exception) {
// Unable to change the orientation back
// to the original configuration.
MessageBox.Show("This sample was unable to set the " +
"orientation back to the original state.");
}
}
}
Прячем кнопку Start
Функция
SHFullScreen
позволяет прятать и показывать кнопку Start и пиктограмму виртуальной клавиатуры SIP. Соответствующий код приведен в листинге 13.6. Листинг 13.6
/// <summary>
/// Функция используется для изменения вида экрана.
/// Вы можете модифицировать панель задач, панель ввода, значок
/// Пуск
/// </summary>
/// <param name="hwndRequester">Дескриптор окна</param>
/// <param name="dwState">Определяет состояние окна</param>
/// <returns>B успешном случае возвращается True, иначе -
/// False</returns>
[DllImport("aygshell.dll")]
static extern uint SHFullScreen(IntPtr hwndRequester, uint dwState);
const uint SHFS_SHOWTASKBAR = 0x0001;
const uint SHFS_HIDETASKBAR = 0x0002;
const uint SHFS_SHOWSIPBUTTON = 0x0004;
const uint SHFS_HIDESIPBUTTON = 0x0008;
const uint SHFS_SHOWSTARTICON = 0x0010;
const uint SHFS_HIDESTARTICON = 0x0020;
private void butHideStart_Click(object sender, EventArgs e) {
IntPtr hwnd = this.Handle;
//прячем кнопку Start
SHFullScreen(hwnd, SHFS_HIDESTARTICON);
//прячем SIP
//SHFullScreen(hwnd, SHFS_HIDESIPBUTTON);
}
private void butShowStart_Click(object sender, EventArgs e) {
//показываем кнопку Start
IntPtr hwnd = this.Handle;
SHFullScreen(hwnd, SHFS_SHOWSTARTICON);
//показываем SIP
//SHFullScreen(hwnd, SHFS_SHOWSIPBUTTON);
}
В примере показано, как прятать кнопку
Start
. Если нужно спрятать пиктограмму SIP, то надо убрать комментарии при втором вызове функции. На рис. 13.1 показан внешний вид экрана со спрятанной кнопкой Start
. Рис. 13.1. Скрытие кнопки Start
Панель задач
Очень часто программисты в качестве шутки создают программы, которые прячут привычные для пользователя элементы интерфейса. В предыдущем примере было показано, как можно скрыть кнопку
Start
. Теперь нужно рассмотреть пример работы с панелью задач. Для создания тестового приложения на форме надо разместить две кнопки. Одна из них будет скрывать панель задач, а вторая — показывать ее. Соответствующий код приведен в листинге 13.7.
Листинг 13.7
/// <summary>
/// Скрывает одно окно и активирует другое
/// </summary>
private const int SW_HIDE = 0;
/// <summary>
/// Активирует окно
/// </summary>
private const int SW_SHOW = 5;
[DllImport("coredll.dll")]
private static extern IntPtr FindWindow(string ClassName, string WindowName);