コンソールアプリケーションでガラス効果を有効にすることができます。私はWindows 7とDelphi 2010を使用しています。デルファイを使用してコンソールアプリケーションでガラス効果(Windows Vista/7)を有効にする方法
私はthisアプリケーションを見つけました。
コンソールアプリケーションでガラス効果を有効にすることができます。私はWindows 7とDelphi 2010を使用しています。デルファイを使用してコンソールアプリケーションでガラス効果(Windows Vista/7)を有効にする方法
私はthisアプリケーションを見つけました。
私は数週間前に私のブログにthis articleを公開しました。
キーはGetConsoleWindow
とDwmEnableBlurBehindWindow
の機能を使用しています。
GetConsoleWindow
関数は、呼び出しプロセスに関連付けられたコンソールで使用されるウィンドウハンドルを取得します。
DwmEnableBlurBehindWindow
機能は、提供されたウィンドウハンドルでぼかし効果(ガラス)を有効にします。
program ConsoleGlassDelphi;
{$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 effect
function GetConsoleWindow: HWND; stdcall; external kernel32 name 'GetConsoleWindow'; //get the handle of the console window
function 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.
これは単なる基本例です。問題を避けるためにWindows OSのバージョンをチェックする必要があります。
"ウィンドウの色と外観"が凍結に設定されている場合、これはうまくいかない...白い背景に白いテキスト –
コンソールウィンドウは共有リソースです。それはあなたのプログラムに属しません。あなたに属していないウィンドウをグローバルに変更しないでください。顧客がコンソールウィンドウを見た目に見せたい場合は、リンクしたプログラムをインストールすることができます。 –