Какой рейтинг вас больше интересует?
|
Главная / Главные темы / Тэг «farina»
Блокируем все запущенные приложения кроме своего 2012-10-23 09:41:15
+ развернуть текст сохранённая копия
Данная функция позволяет реализовать блокировку всех запускаемых и запущенных приложений кроме вашего, мне данный код пригодился в реализации родительского контроля!
Для работы нам необходимо подключить следующее пространство имен:
using System.Runtime.InteropServices;
Подключаем функции GetDesktopWindow,GetWindow и EnableWindow из библиотеки user32.dll.
[DllImport("user32.dll", SetLastError = false)]
static extern IntPtr GetDesktopWindow();
[DllImport("user32.dll", SetLastError = true)]
static extern IntPtr GetWindow(IntPtr hWnd, GetWindow_Cmd uCmd);
[DllImport("user32.dll")]
[return: MarshalAs(UnmanagedType.Bool)]
static extern bool EnableWindow(IntPtr hWnd, bool bEnable);
Объявляем необходимы нам флаги для прохода по приложениям
enum GetWindow_Cmd : uint
{
GW_HWNDFIRST = 0,
GW_HWNDLAST = 1,
GW_HWNDNEXT = 2,
GW_HWNDPREV = 3,
GW_OWNER = 4,
GW_CHILD = 5,
GW_ENABLEDPOPUP = 6
}
Ну и сама функция блокировки приложений:
private void button1_Click(object sender, EventArgs e)
{
//получаем первое дочернее окно Рабочего стола
IntPtr hwnd = GetWindow(GetDesktopWindow(), GetWindow_Cmd.GW_CHILD);
if (hwnd != IntPtr.Zero)
{
//перебираем все окна в системе
while (hwnd != IntPtr.Zero)
{
//проверка, что блокируем не свое окно
if (hwnd != this.Handle)
{
//блокируем окно
//(вид окна, как будто его блокирует диалоговое окно)
EnableWindow(hwnd, false);
}
//получаем хендл следующего окна
hwnd = GetWindow(hwnd, GetWindow_Cmd.GW_HWNDNEXT);
}
}
}
Указывая в EnableWindow(hwnd, false) true или false вы блокируете или разблокируете приложения!
Тэги: application, form, process, system, window
Программно выполняем Ctrl+C 2012-10-23 08:51:42
+ развернуть текст сохранённая копия
[DllImport("user32.dll", SetLastError = true)]
private static extern void keybd_event( byte bVk, byte bScan, uint dwFlags, int dwExtraInfo );
private static void SendCtrlhotKey( char key ) {
keybd_event( 0x11, 0, 0, 0);
keybd_event( (byte)key, 0, 0, 0);
keybd_event( (byte)key, 0, 0x2, 0);
keybd_event( 0x11, 0, 0x2, 0);
}
Пример как использовать:
SendCtrlhotKey( 'C' );
Тэги: form, keyboard, system, window
Цветовой флешмоб: моя желто-золотая косметика 2012-10-20 17:28:27
Только что узнала, что сегодня стартует осенний цветовой флешмоб, который организовала в Живом ...
+ развернуть текст сохранённая копия
Только что узнала, что сегодня стартует осенний цветовой флешмоб, который организовала в Живом журнале Майя ( infarkt_mozga). Узнав про него, я тоже решила принять в нем участие, быстренько собрала то, что попало под руку желтого и золотого из моих косметических запасов, и вот что из этого получилось. На заглавной фотографии вся косметика собрана вместе, теперь [...]
Тэги: bare, benefit, beyu, calvin, chanel, cosmence, dior, foot, freeman, isadora, klein, laurent, lush, nuxe, saint, yves, косметика, отзыв, парфюмерия
Отслеживаем состояние раскладки клавиатуры 2012-10-19 14:25:12
+ развернуть текст сохранённая копия
Тэги: form, keyboard, system, winapi, window
Запрет на изменение раскладки клавиатуры в вашем Windows Form 2012-10-19 10:33:03
+ развернуть текст сохранённая копия
Тэги: form, window
Главная / Главные темы / Тэг «farina»
|
Взлеты Топ 5
Падения Топ 5
|