vs2017 C写控制台程序 用SetLayeredWindowAttributes设置透明窗口有什么前提?

最近遇到这个问题 看别人的解答都是找到窗口句柄之后直接用这个函数设置,但是试了一下午都没成功

HWND hd = GetConsoleWindow();
SetWindowLong(hd, GWL_EXSTYLE, GetWindowLong(hd, GWL_EXSTYLE) ^ WS_EX_LAYERED);
    SetLayeredWindowAttributes(hd, 0, 100, 2);
    cout << "****************";



就是不成功
图片说明

控制台窗口比较特殊,不能半透明
你的程序没有问题,换一个普通窗口就可以
图片说明