`
dqifa
  • 浏览: 112350 次
社区版块
存档分类
最新评论

在exe程序中嵌入图片

阅读更多

1、利用Bin2C将图片转换成“*.c”文件;

2、包含“*.c”文件,具体代码如下:

        =====文件名:PNG_ICON_BGMain.cpp=====
/***************************************************************
 * Name:      PNG_ICON_BGMain.cpp
 * Purpose:   Code for Application Frame
 * Author:    emonkey (dqifa@163.com)
 * Created:   2012-10-20
 * Copyright: emonkey ()
 * License:
 **************************************************************/

#include "PNG_ICON_BGMain.h"
#include <wx/msgdlg.h>

//(*InternalHeaders(PNG_ICON_BGFrame)
#include <wx/intl.h>
#include <wx/string.h>
//*)
//添加相关头文件
#include <wx/dcclient.h>
#include <wx/mstream.h>
#include "icon.c"
//helper functions
enum wxbuildinfoformat {
    short_f, long_f };

wxString wxbuildinfo(wxbuildinfoformat format)
{
    wxString wxbuild(wxVERSION_STRING);

    if (format == long_f )
    {
#if defined(__WXMSW__)
        wxbuild << _T("-Windows");
#elif defined(__UNIX__)
        wxbuild << _T("-Linux");
#endif

#if wxUSE_UNICODE
        wxbuild << _T("-Unicode build");
#else
        wxbuild << _T("-ANSI build");
#endif // wxUSE_UNICODE
    }

    return wxbuild;
}

//(*IdInit(PNG_ICON_BGFrame)
const long PNG_ICON_BGFrame::idMenuQuit = wxNewId();
const long PNG_ICON_BGFrame::idMenuAbout = wxNewId();
const long PNG_ICON_BGFrame::ID_STATUSBAR1 = wxNewId();
//*)

BEGIN_EVENT_TABLE(PNG_ICON_BGFrame,wxFrame)
    //(*EventTable(PNG_ICON_BGFrame)
    //*)
END_EVENT_TABLE()

PNG_ICON_BGFrame::PNG_ICON_BGFrame(wxWindow* parent,wxWindowID id)
{
    //(*Initialize(PNG_ICON_BGFrame)
    wxMenuItem* MenuItem2;
    wxMenuItem* MenuItem1;
    wxMenu* Menu1;
    wxMenuBar* MenuBar1;
    wxMenu* Menu2;

    Create(parent, id, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxDEFAULT_FRAME_STYLE, _T("id"));
    SetClientSize(wxSize(400,277));
    MenuBar1 = new wxMenuBar();
    Menu1 = new wxMenu();
    MenuItem1 = new wxMenuItem(Menu1, idMenuQuit, _("Quit\tAlt-F4"), _("Quit the application"), wxITEM_NORMAL);
    Menu1->Append(MenuItem1);
    MenuBar1->Append(Menu1, _("&File"));
    Menu2 = new wxMenu();
    MenuItem2 = new wxMenuItem(Menu2, idMenuAbout, _("About\tF1"), _("Show info about this application"), wxITEM_NORMAL);
    Menu2->Append(MenuItem2);
    MenuBar1->Append(Menu2, _("Help"));
    SetMenuBar(MenuBar1);
    StatusBar1 = new wxStatusBar(this, ID_STATUSBAR1, 0, _T("ID_STATUSBAR1"));
    int __wxStatusBarWidths_1[1] = { -1 };
    int __wxStatusBarStyles_1[1] = { wxSB_NORMAL };
    StatusBar1->SetFieldsCount(1,__wxStatusBarWidths_1);
    StatusBar1->SetStatusStyles(1,__wxStatusBarStyles_1);
    SetStatusBar(StatusBar1);
    Center();

    Connect(idMenuQuit,wxEVT_COMMAND_MENU_SELECTED,(wxObjectEventFunction)&PNG_ICON_BGFrame::OnQuit);
    Connect(idMenuAbout,wxEVT_COMMAND_MENU_SELECTED,(wxObjectEventFunction)&PNG_ICON_BGFrame::OnAbout);
    Connect(wxEVT_PAINT,(wxObjectEventFunction)&PNG_ICON_BGFrame::OnPaint);
    //*)
    //添加图标
        wxIcon FrameIcon;
        wxMemoryInputStream istream(acicon, sizeof acicon);
//        FrameIcon.CopyFromBitmap(wxBitmap(wxImage(_T("C:\\Users\\Administrator\\Desktop\\TT\\TT.png"))));
//        wxBitmap BackgroundBitmap(istream,wxBITMAP_TYPE_PNG);
        FrameIcon.CopyFromBitmap(wxBitmap(wxImage(istream,wxBITMAP_TYPE_PNG)));
        SetIcon(FrameIcon);
}

PNG_ICON_BGFrame::~PNG_ICON_BGFrame()
{
    //(*Destroy(PNG_ICON_BGFrame)
    //*)
}

void PNG_ICON_BGFrame::OnQuit(wxCommandEvent& event)
{
    Close();
}

void PNG_ICON_BGFrame::OnAbout(wxCommandEvent& event)
{
    wxString msg = wxbuildinfo(long_f);
    wxMessageBox(msg, _("Welcome to..."));
}

void PNG_ICON_BGFrame::OnPaint(wxPaintEvent& event)
{
    //绘制背景图片
    wxMemoryInputStream istream(acicon, sizeof acicon);
//    wxImage myimage_img(istream, wxBITMAP_TYPE_PNG);
//    wxBitmap BackgroundBitmap;
    wxBitmap BackgroundBitmap(istream,wxBITMAP_TYPE_PNG);
    wxPaintDC dc(this);
    dc.DrawBitmap(BackgroundBitmap, 0, 0);
}
分享到:
评论

相关推荐

    mfc视图区域嵌入嵌入外部exe(窗口程序)

    关键实现代码。不是完整的demo。主要利用CreateEvent、StartProcess、MoveWindow等函数。

    C#将图片资源添加到EXE中

    摘要:C#源码,文件操作,文件资源 C#将图片资源添加到EXE中,在EXE文件中加入图片文件,听上去很让人好奇,那么究竟是如何实现的呢?看了这个C#小程序,您就会明白了。

    bat转exe工具(Bat To Exe Converter) v2.4.6.zip

    Bat To Exe Converter适合初学者和高级用户,可以选择包括添加管理员清单或反编译器的输出程序,甚至运用密码保护文件,生成的.EXE是独立的文件,不需要任何的.DLL运行。需要的朋友快来下载吧! Bat To Exe ...

    VC显示图片资源

    使用EasyX库把图片以资源的形式嵌入到exe程序中 运行时显示exe中的图片,注:要先下载安装装EasyX库

    图片编辑器(Phocasa)v1.0.1.1209免费绿色版

    另外,对于编程人员,您可以把Phocasa嵌入到您的程序中,给软件增加图片编辑功能,只需要去官方申请许可,即可 Phocasa 使用说明 下载解压后,运行 phocasa.exe,即可打开程序,然后打开一张图片 选择

    jphs05图片隐写工具

    基于此,从嵌入数据组成、选位方法、嵌密方式等3个方面剖析Jphide原理,提出Jphide的2个新统计特征,给出针对性的检测方法,并且在嵌入率为10%~50%时可以准确估计出嵌入率 信息隐藏软件JPHS适用于JPEG图像,在Windows和...

    图片资源内嵌实例(含源码)

    C#开发中,把图片,文档资源内嵌入程序,最后生成一个exe文件 资源,图片,内嵌,源码 提供源代码!

    VC++6.0实效编程百例

    62·通过消息机制实现exe程序间的数据交换 第七章 63·获取驱动器序列号 64·获取磁盘空间数据 65·判别并定位到光驱(软驱) 66·嫡归法遍历磁盘目录 67·获得文件属性 68·删除不为空的目录 69·快速检索指定文件 ...

    Visual C++实效编程百例光盘源代码

     实例62 通过消息机制实现Exe程序间的数据交换  第7章 磁盘文件   实例63 获取驱动器序列号   实例64 获取磁盘空间数据   实例65 判别并定位到光驱(软驱)   实例66 递归法遍历磁盘目录   实例67 ...

    chrome.exe

    Google曾在自己的官方博客中宣布在Beta版Chrome25 中将加入网络语音API(Web SpeechAPI),让用户在某些嵌入了JavaScript的网页中可以更方便地使用语音指令、听写等功能。同时新版本在内容安全策略标头(Content ...

    mappics:一个 WPF 应用程序创建一个始终在顶部的覆盖窗口,该窗口显示已在 irfan 查看器中打开的图像的嵌入 gps 位置

    地图AC# WPF 应用程序创建一个始终在顶部的叠加窗口,该窗口显示已在 irfan 查看器中打开的图像的嵌入式 GPS 位置。 旨在与 IrfanView 图像查看器一起使用 使用来自代码来获取 IrfanView 进程的所有打开文件句柄。 ...

    draw.io-23.1.5-windows-no-installer.exe

    drawio 是完全免费开源软件,主界面很简洁,功能媲美Visio和亿图,完全可以替代收费软件!...drawio 也能嵌入到其他的应用程序中,比如以图片、HTML、IFrame、Google Docs 插件的方式供其他软件使用。

    StampDesign-印章设计制作软件

    StampDesign是一款印章设计与制作的软件。完全免费、无任何广告。...如果无法正常运行软件,通常是缺少运行库或控件,请运行主程序所在路径的SETUP文件夹(本程序简易的控件安装包)中的Setup.exe进行安装。注意:①wi

    WYSIWYG Web Builder(网页制作工具)8.5.7特别版.rar

    可以非常方便地嵌入各种文字、flash图片以及JAVA/Activex等文件,软件内置FTP上传工具,你可以将制作好后的网页直接上传到FTP服务器中。另外这个软件还具有类似PS的图层概念,任意元素都可以随意摆放,甚至连FLASH都...

    第三代移动WEB内核小程序风口-逐浪CMS2 x3.9.3全面发布

    ■在搜索主页提供svg代码式嵌入示范。 ■提供SASS(SCSS)引用规范 。 ■基于rem单位进行编程。 ■修正2018年节日功能-全部加载SVG矢量图形。 ■改进前端模板为绿色主题。 ■文件引用从单http改为http、https自适应...

    Exif-Remove:通过键入 exif 从当前目录中的所有数码图片中删除 exif 数据

    Exif是Metadata ,隐藏在图片中。 许多善意的人无意中expose personal information嵌入在这些数字图片元数据中的expose personal information 。 为了更好地保护您的在线confidentiality ,删除 exif 数据至关重要...

    免费视频会议.exe

    支持WEB嵌入、OA调用。产品面向政务应用免费升级,支持DIY服务。  一、会议常用功能  1、视频会议: 多发言人,广播式、任意多点对多点;支持多路视频。  2、音频会议: 多发言人,广播式、任意多点对多点;...

    ACReport中国式报表控件2011(Ver 2.50)

    条形码、中式财务帐薄、支持在报表中嵌入Word、Excel文档等。 4. 强大的计算和合计功能。内置表达式解析系统和函数库。 5. 可扩充性,可以在应用程序中给报表引擎扩充函数库、报表样式和单元格样式。 6.支持多种...

Global site tag (gtag.js) - Google Analytics