Что нового

Временное блокирование всей системы ака Dr.Web.

La2Angel

Новичок
Сообщения
156
Репутация
1
Доброй ночи всем, пишу для себя программку, которая блокировала бы временно новый запущенный процес, пока не решишь, что с ним делать. Для красоты, хотел бы себе сделать ещё блокировочное окно, как у dr. web cureit. Типа что-то усиленной защиты, там рабочий стол затемняется как и при UAC. - Возможно такое сделать ???
 

Zaramot

I ♥ AutoIt
Сообщения
1,160
Репутация
660
Окно UAC с блокировкой клавиатуры и мышки:
Код:
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

$Form1 = GUICreate("", @DesktopWidth, @DesktopHeight, 0, 0, $WS_POPUP, $WS_EX_TOPMOST)
GUISetBkColor(0x000000)
GUISetState(@SW_SHOW)

BlockInput(1)
WinSetTrans($Form1, '', 100)
Sleep(3000)
BlockInput(0)
Exit

;While 1
;	$nMsg = GUIGetMsg()
;	Switch $nMsg
;		Case $GUI_EVENT_CLOSE
;			Exit
;	EndSwitch
;WEnd
 
Автор
L

La2Angel

Новичок
Сообщения
156
Репутация
1
Спасибо, примеры хорошие, но все же, я могу вытащить меню пуск и открыть мой компьютер. просто хотел для себя, что бы подобие было др. веб, там даже диспетчер задач он не дает открывать, все примараживает, пока не выйдешь с него. Ну если больше не будет решений, оставлю так.....
 

axlwor

Скриптер
Сообщения
657
Репутация
147
сделай форму на весь экран и поверх всех. прозрачную и без рамки
 

VladUs

Скриптер
Сообщения
621
Репутация
182
Для дополнительной красоты можно попробывать еще так.

Код:
#Include <APIConstants.au3>
#Include <WinAPIEx.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

$Form1 = GUICreate("Form1", @DesktopWidth, @DesktopHeight, 0, 0, $WS_POPUP, $WS_EX_TOPMOST)
GUISetBkColor(0x000000)
_WinAPI_AnimateWindow($Form1, $AW_BLEND,2000)

WinSetTrans($Form1, '', 100)
Sleep(3000)

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
        _WinAPI_AnimateWindow($Form1, $AW_VER_POSITIVE+$AW_HIDE,2000)
        Exit
    EndSwitch
WEnd


За основу взят код Zaramotа
 
Автор
L

La2Angel

Новичок
Сообщения
156
Репутация
1
Спасибо, все лучше и лучше, но.... как сказать, кто нибудь тогда, может знает принцип работы др. веб куррент утилиты ? Просто дело не в том, как и что появляется и уходит, дело в том, что она как-то странно себя ведет, но очень мне нравится, как бы, даже запускаешь диспетчер задач, а его не видно, а увидишь только тогда, когда закроешь доктор веб, она его запустит. и окна в ней как без аеро открываются....


Добавлено:
Сообщение автоматически объединено:

Вот, пример его во вложении.

При этом, я открыл диспетчер задач, но его не видно!
 

Zaramot

I ♥ AutoIt
Сообщения
1,160
Репутация
660
А это не подойдёт ?:
http://autoit-script.ru/index.php/topic,2701.msg19507.html#msg19507
 
Автор
L

La2Angel

Новичок
Сообщения
156
Репутация
1
Меня все это устраивает, но хотелось бы, вот точно так же как на дктор вебе, просто понять не могу, как он это делает. Или он скриншот делает, а потом его ставит в окно с гуи, либо приостанавливает все.
Вот и как там надпись, и в этот момент предоставить мне выбор, либо убить процесс, либо занести его в список белый, либо просто ничего не делать...
 

Zaramot

I ♥ AutoIt
Сообщения
1,160
Репутация
660
Вот, держи :smile::
Код:
#include <WindowsConstants.au3>
#include <BlockInputEx.au3>

$hDll = DllOpen("WinLockDll.dll")

$Form1 = GUICreate("", @DesktopWidth, @DesktopHeight, 0, 0, $WS_POPUP, $WS_EX_TOPMOST)
GUISetBkColor(0x000000)
$Form2 = GUICreate("", 500, 400, -1, -1, $WS_POPUP, $WS_EX_TOPMOST, $Form1)
$Button1 = GUICtrlCreateButton('Разблокировать', 100, 100)
GUISetState(@SW_SHOW, $Form1)
GUISetState(@SW_SHOW, $Form2)

WinSetTrans($Form1, '', 100)
_BlockInputEx(3)
DllCall ($hDll, "int", "CtrlAltDel_Enable_Disable", "int", 0)

Do
    If GUIGetMsg() = $Button1 Then
		_BlockInputEx(0)
        DllCall ($hDll, "int", "CtrlAltDel_Enable_Disable", "int", 1)
        Exit
    EndIf
Until GUIGetMsg() = -3


DLL-ку можешь скачать здесь: WinLockDll.zip
Библиотеку можешь скачать тут: BlockInputEx.au3
 
Автор
L

La2Angel

Новичок
Сообщения
156
Репутация
1
Спрасибо за терпение и помощь, почти уже ближе, но все же, я могу пользоваться клавиатурой, система моя Win 7. Можно считать тема решена, но если есть ещ1 какие решения полной блокироваки активности системы, и с последующим без последствий возратом к работе, кидайте, будет клева, хочу просто мини блокер процессов написать, как например у аваста, открыть там в песочнице и т.д., только вместо этого предлогать закрыть, добавить, оставить.
 
Автор
L

La2Angel

Новичок
Сообщения
156
Репутация
1
Спасибо :smile: Отлично, только работает CTRL+ALT+Del и закрывает фокус окна :smile: если можно что нить с этим сделать, будет клева, но думаю, это уже как-то не так, найдутся тут плохие люди в написании вирусов используют... думаю для меня это не критично, но если есть решение, не отказался бы в пм.
 

Zaramot

I ♥ AutoIt
Сообщения
1,160
Репутация
660
только работает CTRL+ALT+Del и закрывает фокус окна
Ты скачал DLL-ку и установил её в папку со скриптом ? Если да, то видимо в Win 7 эта фича не работает.... А у меня Win XP и всё работает ;D
 
Автор
L

La2Angel

Новичок
Сообщения
156
Репутация
1
Да, все сделал, но все равно открывает, с доктором вебом так же, но только диспетчер задач в спящем режиме, его не видно нигде, только в процессах, а вот только доктор веб закроешь, он запускается )
 
Автор
L

La2Angel

Новичок
Сообщения
156
Репутация
1
А, ещё вопросик есть по этой же теме. У меня Windows Seven, После нажатия CTRL+ALT+DEL и нажатии в окне потом отмена, или хотя бы нажать открыть диспетчер задач, блокировка клавы снимается, и обратно не делается, как можно исправить? Пытался ставить на вызов AdlibRegister на постоянно, но даже она потом не блочит клаву после этого окна.
 
Верх