判断一个文件是否为有效的PE文件,判断2个字段:
DOS头的e_magic字段是否为0x5A4D;
NT头的Signature字段是否为0x00004550;
若都是的话则是一个有效的PE文件;
VC6,单文档工程;
void CIspeView::OnDraw(CDC* pDC)
{
CIspeDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
//HANDLE hFile = CreateFile(TEXT("test.png"), GENERIC_ALL, NULL, NULL,OPEN_EXISTING,NULL,NULL);
HANDLE hFile = CreateFile(TEXT("notepad.exe"), GENERIC_ALL, NULL, NULL,OPEN_EXISTING,NULL,NULL);
if (hFile == INVALID_HANDLE_VALUE)
{
//std::cout << "打开文件失败!" << std::endl;
pDC->TextOut(20,20,"打开文件失败!");
CloseHandle(hFile);