Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   AutoIt (http://forum.oszone.net/forumdisplay.php?f=103)
-   -   [решено] Эффекты в cmd.exe, Glass V1.0 (http://forum.oszone.net/showthread.php?t=180323)

semiono 11-07-2010 07:20 1451078

Эффекты в cmd.exe, Glass V1.0
 
Нашёл такой скрипт....

Код:

#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_icon=Glass.ico
#AutoIt3Wrapper_UseUpx=n
#AutoIt3Wrapper_UseX64=n
#AutoIt3Wrapper_Change2CUI=y
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
If $CmdLine[0] <> 1 Then
        ConsoleWrite("Syntax:Glass on|off" & @LF)
        Exit
EndIf

$CON = _Console_GetConsoleWindow()
Switch $CmdLine[1]
        Case "on"
                EnableBlurBehind($CON)
        Case "off"
                DisableBlurBehind($CON)
        Case Else
                ConsoleWrite("Syntax:Glass on|off" & @LF)
EndSwitch



Func _Console_GetConsoleWindow()
        Local $aResult = DllCall("kernel32.dll", "hwnd", "GetConsoleWindow")
        If @error Or (Not IsArray($aResult)) Then Return SetError(@error, @extended, 0)
        Return $aResult[0]
EndFunc  ;==>_Console_GetConsoleWindow

Func EnableBlurBehind($hWnd)
        Const $DWM_BB_ENABLE = 0x00000001
        $Struct = DllStructCreate("dword;int;ptr;int")
        DllStructSetData($Struct, 1, $DWM_BB_ENABLE)
        DllStructSetData($Struct, 2, "1")
        DllStructSetData($Struct, 4, "1")
        DllCall("dwmapi.dll", "int", "DwmEnableBlurBehindWindow", "hwnd", $hWnd, "ptr", DllStructGetPtr($Struct))
EndFunc  ;==>EnableBlurBehind

Func DisableBlurBehind($hWnd)
        Const $DWM_BB_ENABLE = 0x00000001
        $Struct = DllStructCreate("dword;int;ptr;int")
        DllStructSetData($Struct, 1, $DWM_BB_ENABLE)
        DllStructSetData($Struct, 2, "")
        DllStructSetData($Struct, 4, "")
        DllCall("dwmapi.dll", "int", "DwmEnableBlurBehindWindow", "hwnd", $hWnd, "ptr", DllStructGetPtr($Struct))
EndFunc  ;==>EnableBlurBehind

Как он работает я так и не понял. У меня в консоли установлен Lucida Console Font, я думал из-за этого.
Но установка Raster Font ничего не изменила. Интересно, что этот код делает вообще?

Creat0R 11-07-2010 17:59 1451254

Предупреждение за нарушение правил форума, пункт 2.7:

Цитата:

В заголовке темы обязательно обозначайте название предмета, которого касается вопрос, а в теле сообщения максимально подробно опишите проблему (приведите аппаратную/программную конфигурацию, а также изложите ситуацию, в которой возникает проблема).
Переименуйте пожалуйста тему.


Время: 18:48.

Время: 18:48.
© OSzone.net 2001-