Efecto Aero Glass en AMS by Agotaras123
Publicado: 02 Feb 2011 04:17
Efecto Aero Glass en AMS by Agotaras123

Bueno este es el efecto Aero Glass que tanto nos gusta a muchos y pues aquí les traigo una APZ con este efecto, para lograr el funcionamiento de este efecto se requiere del plugin Memory de lo contrario no les funcionara.
Sin mas que decir aquí les dejo la APZ que la disfruten.
SCRIPT
Estos números: 000000, equivalen al color negro, lo pueden cambiar por otro colo si ustedes quieren.
APZ

Bueno este es el efecto Aero Glass que tanto nos gusta a muchos y pues aquí les traigo una APZ con este efecto, para lograr el funcionamiento de este efecto se requiere del plugin Memory de lo contrario no les funcionara.
Sin mas que decir aquí les dejo la APZ que la disfruten.
SCRIPT
function SetLayeredWindowAttributes(hwnd, Color)
local ret = tonumber(DLL.CallFunction("user32.dll", "GetWindowLongA", hwnd..", -20", DLL_RETURN_TYPE_LONG, DLL_CALL_STDCALL)) + 524288
result = DLL.CallFunction("user32.dll", "SetWindowLongA", hwnd..", -20, "..ret, DLL_RETURN_TYPE_INTEGER, DLL_CALL_STDCALL);
DLL.CallFunction("user32.dll", "SetLayeredWindowAttributes", hwnd..", "..Color..", 0, 1", DLL_RETURN_TYPE_LONG, DLL_CALL_STDCALL);
end
SetLayeredWindowAttributes(Application.GetWndHandle(), Math.HexColorToNumber("000000"))
function ExtendFrameIntoClientArea(nWndHnd, nLeft, nRight, nTop, nBottom)
local sOSName = System.GetOSName();
local nReturn = 0; -- Devuelve 0 si DWM Composición está deshabilitado, uno de la función devuelve un error, o el mal sistema operativo se está ejecutando para este.
local sError = "";
if(sOSName=="Windows Vista")or(sOSName=="Windows 7")then
Memory.OpenLibrary(1, "dwmapi.dll")
local lpdwEnabled = Memory.Allocate(4);
if(lpdwEnabled>0)then
local F_DWM_ICE = Memory.OpenFunction(1, "DwmIsCompositionEnabled", DLL_CALL_STDCALL, DLL_RETURN_VOID);
local s_ice = Memory.CallFunction(F_DWM_ICE,lpdwEnabled);
if(Memory.GetInt(lpdwEnabled)>0)then
lptrMARGIN = Memory.CreateStructure("int,int,int,int");
if(lptrMARGIN>0)then
Memory.SetStructureData(lptrMARGIN, 1, 0, nLeft, "");
Memory.SetStructureData(lptrMARGIN, 2, 0, nRight, "");
Memory.SetStructureData(lptrMARGIN, 3, 0, nTop, "");
Memory.SetStructureData(lptrMARGIN, 4, 0, nBottom, "");
local F_DWM_EFICA = Memory.OpenFunction(1, "DwmExtendFrameIntoClientArea", DLL_CALL_STDCALL, DLL_RETURN_VOID);
if(Memory.CallFunction(F_DWM_EFICA, nWndHnd, lptrMARGIN)==0)then -- Devuelve S_OK (0)
nReturn = 1;
sError = "OK";
else
sError = "DwmExtendFrameIntoClientAre devolvió un código de error!";
end
Memory.Free(lptrMARGIN); -- .
else
sError = "No se pudo asignar margen de la estructura!";
end
else
sError = "Dwm Composición no está habilitada!";
end
Memory.Free(lpdwEnabled); -- Liberar a los 4 bytes de igual manera.
else
sError = "Could not allocate memory for lpdwEnabled";
end
Memory.CloseLibrary(1);
end
return nReturn,sError;
end
ExtendFrameIntoClientArea(Application.GetWndHandle(), 0, 0, 0, -1)
