自助设备上, 有时需要给用户一些提示消息, 需要满足下面的要求(该方法应用也可以用于桌面歌词显示制作)
1.自助应用大多为全屏应用, 因此该提示信息窗口必须在TOPMOST
2.不能影响当前应用展示, 提示窗口必须透明
3.不能影响用户操作,提示窗口必须具备输入穿透效果.
4.其他方面,窗口不可移动不可改变大小, 不可存在于任务栏
BOOL RemoveExStyle(HWND hwnd, DWORD dwExStyle)
{
return SetWindowLong(hwnd, GWL_EXSTYLE, GetWindowLong(hwnd, GWL_EXSTYLE) & ~dwExStyle);
}
BOOL AddExStyle(HWND hwnd, DWORD dwExStyle)
{
return SetWindowLong(hwnd, GWL_EXSTYLE, GetWindowLong(hwnd, GWL_EXSTYLE) | dwExStyle);
}
BOOL CMod::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: 在此添加额外的初始化
SetTimer(1, 100, NULL);
int Width=300,Height=100;
AddExStyle(this->GetSafeHwnd(), WS_EX_LAYERED | WS_EX_TRANSPARENT | WS_EX_TOOLWINDOW);
// DWORD dwEx = GetWindowLong(this->GetSafeHwnd(), GWL_EXSTYLE);
// SetWindowLong(this->GetSafeHwnd(), GWL_EXSTYLE, dwEx | WS_EX_LAYERED | WS_EX_TRANSPARENT | WS_EX_TOOLWINDOW);
int x = GetDeviceCaps(::GetDC(NU