We don't display ads so we rely on your Bitcoin donations to 1KWEk9QaiJb2NwP5YFmR24LyUBa4JyuKqZ
Post date: Aug 4, 2011 7:35:19 PM
To apply a nice glass effect to our console applications we must use the DwmEnableBlurBehindWindow function (Only available in Windows Vista and Windows 7).
http://msdn.microsoft.com/en-us/library/aa969508(VS.85).aspx
Author: Rodrigo Ruz
program ConsoleGlassDelphi;//Author : Rodrigo Ruz 2009-10-26{$APPTYPE CONSOLE}uses Windows, SysUtils;type DWM_BLURBEHIND = record dwFlags : DWORD; fEnable : BOOL; hRgnBlur : HRGN; fTransitionOnMaximized : BOOL; end;function DwmEnableBlurBehindWindow(hWnd : HWND; const pBlurBehind : DWM_BLURBEHIND) : HRESULT; stdcall; external 'dwmapi.dll' name 'DwmEnableBlurBehindWindow';//function to enable the glass effectfunction GetConsoleWindow: HWND; stdcall; external kernel32 name 'GetConsoleWindow'; //get the handle of the console windowfunction DWM_EnableBlurBehind(hwnd : HWND; AEnable: Boolean; hRgnBlur : HRGN = 0; ATransitionOnMaximized: Boolean = False; AFlags: Cardinal = 1): HRESULT;var pBlurBehind : DWM_BLURBEHIND;begin pBlurBehind.dwFlags:=AFlags; pBlurBehind.fEnable:=AEnable; pBlurBehind.hRgnBlur:=hRgnBlur; pBlurBehind.fTransitionOnMaximized:=ATransitionOnMaximized; Result:=DwmEnableBlurBehindWindow(hwnd, pBlurBehind);end;begin try DWM_EnableBlurBehind(GetConsoleWindow(), True); Writeln('See my glass effect'); Writeln('Go Delphi Go'); Readln; except on E:Exception do Writeln(E.Classname, ': ', E.Message); end;end.