首页
社区
课程
招聘
[求助]求助metafile相关api EmfToWmfBits的使用
2019-9-8 23:31 3041

[求助]求助metafile相关api EmfToWmfBits的使用

2019-9-8 23:31
3041
我准备读取一个emf文件并调用EmfToWmfBits这个api。我先上自己的代码吧。
#include <iostream>
#include <stdio.h>
#include <WINDOWS.H>
#include <shellapi.h>
#include <gdiplus.h>

#pragma comment(lib,"gdiplus.lib")
#pragma comment(lib, "shell32.lib")

using namespace Gdiplus;


int main(int argc, char **argv)
{
	UINT size1 = 0;
	int argcount;
	LPWSTR* szArglist;

	if (argc < 2) {
		std::cout << "Please input a file name" << std::endl;
		return 0;
	}


	szArglist = CommandLineToArgvW(GetCommandLineW(), &argcount);
	Metafile myMetafile(szArglist[1]);
	LocalFree(szArglist);
	HENHMETAFILE hEmf = myMetafile.GetHENHMETAFILE();
	size1 = Metafile::EmfToWmfBits(
		hEmf,
		0,
		NULL,
		MM_ANISOTROPIC,
		EmfToWmfBitsFlagsEmbedEmf);
	std::cout << size1 << std::endl;
	

}
这里我遇到的问题是在
Metafile myMetafile(szArglist[1]);
我调试的时候发现这个结构体关键的地方并没有读取图片成功,导致后面size1是0。所以应该是创建这个类的时候读取文件失败了。
我猜测可能的原因是szArglist[1]这里是unicode,然后找不到图片。我图片名字是bird.emf。但是我换了中文名还是不行。
我也试过
Metafile myMetafile(L“bird.emf”);
还是没用。所以只能来这里求助,帮帮小弟吧。谢谢。

[培训]《安卓高级研修班(网课)》月薪三万计划,掌 握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
免费 0
打赏
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回