⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dirimage.cpp

📁 对ima、imz压缩文件修改
💻 CPP
字号:
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <memory.h>
#include <string.h>

#include <windows.h>

#include "wimadll.h"

HIMA TryLoadFloppyIma(LPCSTR lpszImageFileName)
{
    BOOL fCompr=FALSE;
    HIMA hIma = CreateMemFatHima();
    if (hIma!=NULL)
    {
        if (!ReadImaFile(hIma,/*NULL*/HWND_NO_PROGRESS,(LPSTR)lpszImageFileName,&fCompr,0))
        {
            DeleteIma(hIma);
            hIma=NULL;
        }
    }
    return hIma;
}


HIMA TryLoadIsoIma(LPCSTR lpszImageFileName)
{
    return CreateCDIsoIma((LPSTR)lpszImageFileName);
}

    
BOOL DoDirImage(LPCSTR lpszImageFileName)
{
    HIMA hIma;
    DWORD dwNbFileRoot,i;
    LPDIRINFO lpdi;

    hIma = TryLoadIsoIma(lpszImageFileName);
    if (hIma!=NULL)
        printf("ISO CdRom image %s opened\n",lpszImageFileName);
    else
    {
        DWORD dwSizeIma,dwSizeImaHigh;
        BOOL fOpenLargeFat=FALSE;
        DWORD dwPosInFile=0;
        if (GetFatImaSizeFileName(lpszImageFileName,&dwSizeIma,&dwSizeImaHigh,&fOpenLargeFat,&dwPosInFile))
        {
            hIma = OpenFatLargeFile(NULL,lpszImageFileName,0,0,TRUE);
            if (hIma!=NULL)
                printf("Hard disk image %s opened\n",lpszImageFileName);
        }

        if ((hIma==NULL) && (!fOpenLargeFat))
        {
            hIma = TryLoadFloppyIma(lpszImageFileName);
            if (hIma!=NULL)
                printf("Fat Floppy image %s opened\n",lpszImageFileName);
        }
    }

    if (hIma!=NULL)
    {
        dwNbFileRoot=GetNbEntryCurDir(hIma);
        lpdi = (LPDIRINFO)malloc(sizeof(DIRINFO)*(dwNbFileRoot+1));
        if (lpdi!=NULL)
        {
            if (GetDirInfo(hIma,lpdi,SORT_NAME))
                for (i=0;i<dwNbFileRoot;i++)
                {
                    printf("%s\t%u\n",(lpdi+i)->longname,(lpdi+i)->dwSize);
                }
            free(lpdi);
        }
        DeleteIma(hIma);
    }

    return hIma!=NULL;
}

int main(int argc,char *argv[])
{
  printf("DirImage - a WinImage DLL sample - http://www.winimage.com/wima_sdk.htm\n");
  if (argc <= 1)
  {
      printf("Usage : DirImage <image_filename>\n\n");
      return 0;
  }
  else
      return DoDirImage(argv[1]);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -