代码传送门

#include <windows.h>
#include <gdiplus.h>
#pragma comment(lib, "gdiplus.lib")using namespace Gdiplus;//声明自定义消息处理函数
LRESULT CALLBACK WindowProc(HWND hwnd,UINT uMsg,WPARAM wParam,LPARAM lParam);
//绘制PNG窗口
BOOL UpdateDemoWindows(Image *image);Gdiplus::GdiplusStartupInput m_gdiplusStartupInput;
ULONG_PTR m_pGdiToken;
HWND m_hWnd;int _tmain(int argc, _TCHAR* argv[])
{       GdiplusStartup(&m_pGdiToken, &m_gdiplusStartupInput, NULL); HINSTANCE hInst;hInst = GetModuleHandle(NULL); //获取一个应用程序或动态链接库的模块句柄   WNDCLASSEX wcx; wcx.cbSize = sizeof(wcx);  wcx.style = CS_HREDRAW | CS_VREDRAW | CS_OWNDC | CS_NOCLOSE;//窗口的风格    wcx.lpfnWndProc = WindowProc;     //采用自定义消息处理函数wcx.cbClsExtra = 0;                // no extra class memory  wcx.cbWndExtra = 0;                // no extra window memory  wcx.hInstance = hInst;         //当前应用程序的实例句柄 wcx.hIcon = LoadIcon(NULL,IDI_APPLICATION); //图标风格      wcx.hCursor = LoadCursor(NULL,IDC_ARROW);  //鼠标风格wcx.hbrBackground = (HBRUSH)WHITE_BRUSH; //背景色wcx.lpszMenuName =NULL;  //菜单名    wcx.lpszClassName = _T("ITSMYOSDCLASS"); //窗口类的名称wcx.hIconSm = NULL;        if (!RegisterClassEx(&wcx)){printf("RegisterClassEx failed");return 1;}//窗口在屏幕上的显示位置int OSDleft = GetSystemMetrics(SM_CXSCREEN) / 2 - 300;int OSDTop = GetSystemMetrics(SM_CYSCREEN) / 2;m_hWnd = CreateWindowEx(WS_EX_LAYERED | WS_EX_TOOLWINDOW | WS_EX_TOPMOST | WS_EX_TRANSPARENT | WS_EX_NOACTIVATE,//窗口的扩展风格wcx.lpszClassName,//上面注册的类名lpszClassName,要完全一致  NULL,WS_VISIBLE | WS_POPUP,//窗口的风格OSDleft,//窗口相对于父级的X坐标  OSDTop,//窗口相对于父级的Y坐标 300,//窗口的宽度  300,//窗口的高度 (HWND)NULL,//没有父窗口,为(HWND)NULL//GetDesktopWindow(),(HMENU)NULL,//没有菜单,为NULL  hInst,//当前应用程序的实例句柄  (LPVOID)NULL); //没有附加数据,为NULL  if (!m_hWnd){printf("CreateWindowEx failed");return 1;}    Image* pImage = Image::FromFile(L"demo.png");    if (pImage->GetLastStatus() == Ok){UpdateDemoWindows(pImage);} delete pImage;pImage = NULL;//消息循环  MSG msg;while (GetMessage(&msg, (HWND)NULL, 0, 0)){TranslateMessage(&msg);DispatchMessage(&msg);}Gdiplus::GdiplusShutdown(m_pGdiToken);    return 0;
}

C++ 控制台创建窗口,加载png图片,实现悬浮窗相关推荐

  1. Qt 使用QMovie加载gif图片实现动态等待窗口

    有时候要进行某项后台处理,但后台处理时间很长,需要提示用户等待,不妨做一个动态等待窗口.具体实现过程如下: 1 自定义窗口类DlgWait (1) 在资源中添加动态的gif图片,记住它的大小. 我添加 ...

  2. MFC——在视图窗口加载背景图片

    1.若是文档视图程序的话,在视图类的OnDraw(CDC* pDC)函数中调用pDC->TextOut()函数,就像平常输出文字一样.若是嫌文字的背景颜色破坏了图像,可以在输出文字之前调用pDC ...

  3. android全平台编译libjpeg-turbo并基于ANativeWindow加载JPEG图片

    图形图像实践 android全平台编译libjpeg-turbo并基于ANativeWindow加载JPEG图片 android全平台编译libpng并基于ANativeWindow加载PNG图片 概 ...

  4. OsgEarth —— 笔记2 - Qt窗口加载earth地球(附源码)

    效果         相关文章      OSG -- 笔记1 - 指令调用模型      OSG -- 笔记2 - 加载模型(附源码)      OSG -- 笔记3 - 绘制矩形(附源码)     ...

  5. 前端加载大图片从模糊到清晰

    打开天猫随便点了个链接,加载了一张大的背景图片,该图片从非常模糊到正常显示有一个过程,深入了解一下它的实现过程. 打开控制台,禁用Cache,模拟2G网络,刷新页面 查看请求列表,浏览器先请求了一张缩 ...

  6. Android手机内存图片读取,有效解决Android加载大图片内存溢出的问题

    今天在交流群里,有人问我他经常遇到加载图片时内存溢出的问题,遇到的情况还是在自己的测试机或者手机里没有问题,做好了, 到了客户手机里就内存溢出了.其实有时候不同的手机和不同的系统对内存的要求不一样,尤 ...

  7. ios html异步加载图片,iOS 异步加载本地图片

    iOS 异步加载本地图片 问题 当某个界面使用系统API + (nullable UIImage *)imageNamed:(NSString *)name;加载了过多本地图片资源时,不可避免的会产生 ...

  8. 短视频系统源代码,加载本地图片和加载网络图片

    在短视频系统源代码中,上传照片时会涉及到加载本地图片或加载网络图片的情况,下面介绍一下相关代码 从布局开始 <?xml version="1.0" encoding=&quo ...

  9. cocos creator 3.x 精灵不显示、加载动态图片、物理碰撞、人物跟随鼠标移动、碰撞后节点销毁

    温馨提醒:即刻转去Unity3d 精灵不显示: 不要在空节点下直接添加组件 正确的做法是:在空节点(Node)上右键创建一个精灵才会给看到 或者直接拖曳一个图片放到场景编辑器中也可 cocos cre ...

  10. flutter webview加载http图片失败处理

    1.简介 开始接手flutter项目,项目flutter版本2.5.3,目前最新2.10.3. 项目中使用webview为 flutter_webview_pro 1.0.0 源码修改版,已经支持we ...

最新文章

  1. 霍金一生重要时刻照片合集,3次来中国,年轻时也是帅哥一枚
  2. 领域驱动设计(DDD)相关架构介绍与演变过程分析(图文详解)
  3. 怎么用纸做圆形的盒子_如何培养孩子逻辑思维能力?抓住0-8岁关键期,聪明的家长这样做...
  4. jQuery库简介及下载引入
  5. React 预览图片 视频 音频_HDMI录制盒斗鱼虎牙高清视频游戏直播器1080监控switch/ps4采集卡...
  6. PID控制最通俗的解释与PID参数的整定方法
  7. H3CIE(WLAN)学习笔记(4)——PHY层协议
  8. 完成一个个人博客,博客头像可上传本地图片;部分图片实现点击看大图功能
  9. d盘不见了 计算机打不开,D盘不见了怎么找回 电脑D盘没了解决方法
  10. Day2:数据类型介绍及相关使用方法
  11. python解压7z文件_Python使用7z解压软件备份文件脚本分享
  12. python模拟登录163邮箱_python selenium模拟登陆163邮箱。
  13. 固态硬盘的PCIE,SATA,M2,NVMe,AHCI分别都指什么?别再搞混了
  14. windows11中如何显示此电脑图标
  15. 中移动浦发联合发布四款产品 ,NFC手机年底上市
  16. 计算机基础教学质量分析报告,张丹菲信息技术质量分析报告1
  17. CAT埋点实战-服务器搭建-代码实现
  18. JS Boolean 初始值
  19. 优化产品交互逻辑来提升产品性能
  20. 如何打开win7系统诊断策略服务器,win7系统诊断策略服务已被禁用怎么恢复使用...

热门文章

  1. 安装TDM-GCC时一直报错,大佬求解
  2. AMR中的RO,RW和ZI
  3. Android8.1.0安装Xposed框架
  4. MMyolo报错:undefined symbol: _ZN3c105ErrorC2ENS_14SourceLocationESs 的解决方案
  5. 一个IP可以登几个拼多多后台 拼多多如何推广营销
  6. 机械原理复习试题及答案
  7. 【转】实习中,我怎样学习和工作
  8. 【题解】【AcWing】3374. 进制转换2
  9. 用jk触发器构成二分频电路_JK触发器地应用设计.ppt
  10. Android 11 默认打开开发者选项