2016-06-10 1 views
0

나는 매우 새롭고 무엇을 해야할지 이해하지 못합니다. 나는 다른 언어로 작업중인 게임을 위해 C++로 DLL을 만들고 있습니다. 나는 C++에 대해 아무것도 모르며 간신히 그것을 통해 작업 해왔다. 창 맞춤 설정 색상을 반환해야합니다. reddit에 누군가가 정상적으로 내게 약간의 소스를 주었지만 ACTIVE_BORDER 색상 만 반환했습니다.이 색상은 사용자가 Windows 8에서 쉽게 변경할 수있는 것과는 다른 색상입니다. 이는 내가 집중하고있는 것입니다. DwmGetColorizationColor와 함께 작동하도록 수정했지만 지금은 문제가 COLORREF를 사용하지 않는다는 것입니다. 나를 도울 수있는 사람은 누구나 크게 환영 할 것입니다. Heres는DwmGetColorizationColor에서 COLORREF를 얻는 방법

내 소스 :

#include <windows.h> 
#include <dwmapi.h> 
#include <gdiplus.h> 
#define DLLEXPORT extern "C" __declspec(dllexport) 
#pragma comment(lib, "Dwmapi") 

DLLEXPORT double GetCol(void) { 
    DWORD color = 0; 
    BOOL opaque = FALSE; 
    HRESULT hr = DwmGetColorizationColor(&color, &opaque); 
    return color; 
}; 

답변

0

반환 색 반면

0xAArrggbb 

의 형식 인 Windows COLORREF 당신은의 부분 주위에 이동해야 할

0x00bbggrr 

입니다 너의 돌려 보내진 DWORD을에 COLORREF에 돌려 보내 십시요.

COLORREF c = 
    ((color && 0x00ff0000) >> 16) //red 
    || 
    ((color && 0x0000ff00)) //green 
    || 
    ((color && 0x000000ff) << 16);