AUGE_OHR wrote: ↑Wed Mar 16, 2022 10:42 pm
hi,
while when load into IDE it will not work with
which is in *.HB
P
btw. i have try to include it into *.HB
C
but it seems not to work this Way
Hola Jimmy, xomo no tengo el codigo fuente completo para probar IPTV con El Administrador de ventanas de escritorio (DWM)
puede usar esa misma libreria de Mingw64 desde esta ruta :
copiarla a
c:\hmg.3.6\include desde "
C:\hmg.3.6\mingw64\x86_64-w64-mingw32\include\dwmapi.h"
a
c:\hmg3.6\lib64 desde "
C:\hmg.3.6\mingw64\x86_64-w64-mingw32\lib\libdwmapi.a"
o en el archivo
.hbc
Code: Select all
libpaths=C:\hmg.3.6\mingw64\x86_64-w64-mingw32\lib
incpaths=C:\hmg.3.6\mingw64\x86_64-w64-mingw32\include
libs=dwmapi
#include "hmg.ch"
FUNCTION Main()
DEFINE WINDOW Win_1 ;
AT 0, 0 WIDTH 600 HEIGHT 400 ;
TITLE "Prueba DWM en HMG" ;
MAIN
END WINDOW
// Obtenemos el Handle (HWND) de la ventana HMG
LOCAL hWnd := GetFormHandle("Win_1")
// Ejemplo: Activar modo oscuro en la barra de título (Windows 10/11)
// DWMWA_USE_IMMERSIVE_DARK_MODE = 20
DwmSetWindowAttributeInt( hWnd, 20, 1 )
CENTER WINDOW Win_1
ACTIVATE WINDOW Win_1
RETURN NIL
// ============================================================================
// C-WRAPPERS PARA DWM
// ============================================================================
#pragma BEGINDUMP
#ifndef WINVER
#define WINVER 0x0600
#endif
#include <windows.h>
#include <dwmapi.h>
#include "hbapi.h"
/*
* Permite cambiar atributos del DWM pasando un entero (ej: Modo Oscuro, Esquinas redondas)
* Sintaxis Harbour: DwmSetWindowAttributeInt( hWnd, nAttribute, nValue )
*/
HB_FUNC( DWMSETWINDOWATTRIBUTEINT )
{
HWND hwnd = (HWND) hb_parptr( 1 );
DWORD dwAttribute = (DWORD) hb_parni( 2 );
int nValue = hb_parni( 3 );
HRESULT hr = DwmSetWindowAttribute( hwnd, dwAttribute, &nValue, sizeof(nValue) );
hb_retnl( (LONG) hr );
}
/*
* Extender el marco de la ventana hacia el área de cliente (Efecto Glass/Blur)
* Sintaxis Harbour: DwmExtendFrameIntoClientArea( hWnd, nLeft, nTop, nRight, nBottom )
*/
HB_FUNC( DWMEXTENDFRAMEINTOCLIENTAREA )
{
HWND hwnd = (HWND) hb_parptr( 1 );
MARGINS margins;
margins.cxLeftWidth = hb_parni( 2 );
margins.cxRightWidth = hb_parni( 3 );
margins.cyTopHeight = hb_parni( 4 );
margins.cyBottomHeight = hb_parni( 5 );
HRESULT hr = DwmExtendFrameIntoClientArea( hwnd, &margins );
hb_retnl( (LONG) hr );
}
#pragma ENDDUMP