亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? winimageiso.cs

?? 對ima、imz壓縮文件修改
?? CS
?? 第 1 頁 / 共 3 頁
字號:
using System.Collections.Generic;
using System.Text;
using System;
using System.IO;
using System.Threading;
using System.Runtime.InteropServices;
using WinImageSample;

namespace WinImage
{
    public enum OverwriteType { YES = 0, NO = 1, PROMPT = 2 };
    public enum CallBackResult { OK = 1, Cancel = 2, Abort = 3, Retry = 4, Ignore = 5, Yes = 6, No = 7 };
    public class ISOImage : IDisposable
    {
        #region Variable Declarations
            private WinImageError wiError = new WinImageError();
            private IsoObjectCollection FileCol = new IsoObjectCollection(null);
            private int iFileID = 0;
            private int iFolderID = 0;
            private IntPtr iImgHandle = (IntPtr)(-1);
            public OverwriteType Overwrite = OverwriteType.YES;
            private IsoObject Root = null;
            private string sFileName = "";
            private string sFilePath = "";
            public bool Silent = false;
        #endregion
        #region Properties
            public IsoObjectCollection Files { get { return FileCol; } }
            public string ImageFileName { get { return sFileName; } }
            public string ImageFilePath { get { return sFilePath; } }
            public IsoObject ImageRoot { get { return Root; } }
            public string Label
            {
                get
                {
                    if (iImgHandle != IntPtr.Zero)
                    {
                        StringBuilder ImageLabel = new StringBuilder(' ', 255);
                        Wimadll.GetLabel(iImgHandle, ImageLabel);
                        return ImageLabel.ToString().Trim();
                    }
                    else { return ""; }
                }
                set { Wimadll.SetLabel(iImgHandle, value); }
            }
            public WinImageError LastError { get { return wiError; } }
            public int SelectedFiles { get { return Root.SelectedFiles; } }
            public int SelectedFolders { get { return Root.SelectedFolders; } }
            public long SelectedSize { get { return Root.SelectedSize; } }
            public int TotalFiles { get { return iFileID; } }
            public int TotalFolders { get { return iFolderID; } }
            public long TotalSize { get { return Root.Size; } }
        #endregion
        #region Public Methods
            public void DisplayImage(System.Windows.Forms.TreeView DisplayTree)
            {
                DisplayTree.Nodes.Clear();
                ThreeStateTreeNode dRoot = new ThreeStateTreeNode(this.ImageFileName);
                dRoot.Name = "root";
                DisplayTree.Nodes.Add(dRoot);
                DisplayImageNodes(dRoot, this.ImageRoot);
                dRoot.Expand();
            }
            public void Dispose()
            {
                Dispose(true);
                GC.SuppressFinalize(this);
            }
            public bool ExtractFiles() { return ExtractFiles(sFilePath); }
            public bool ExtractFiles(string Destination)
            {
                if (iImgHandle == IntPtr.Zero)
                {
                    wiError.ErrorCause = "No Image Loaded For File Extraction.";
                    wiError.ErrorSource = "ExtractFiles";
                    wiError.ErrorType = WinImageError.EType.InvalidOperation;
                    return false;
                }
                if (SelectedFiles == 0 && SelectedFolders == 0)
                {
                    wiError.ErrorCause = "No Files Or Folders Selected For Extraction.";
                    wiError.ErrorSource = "ExtractFiles";
                    wiError.ErrorType = WinImageError.EType.InvalidOperation;
                    return false;
                }
                if (!Path.IsPathRooted(Destination)) { Destination = Path.Combine(sFilePath, Destination); }
                if (Root.SelectedSize > WinImageHelpers.GetFreeSpace(Destination))
                {
                    wiError.ErrorCause = "Insufficient Space For Extracted Files.";
                    wiError.ErrorSource = "ExtractFiles";
                    wiError.ErrorType = WinImageError.EType.InvalidOperation;
                    return false;
                }
                if (!Directory.Exists(Destination)) { Directory.CreateDirectory(Destination); }
                BulkWorker objWork = new BulkWorker(iImgHandle);
                objWork.Destination = Destination;
                if (CheckExistance(Destination, Root))
                {
                    //Exisitng File(s), so decide what to do
                    switch (Overwrite)
                    {
                        case OverwriteType.PROMPT:
                            if (Silent)
                            {
                                wiError.ErrorCause = "Prompting For Overwrite Is Not Allowed When The 'Silent' Property Is Set To True.";
                                wiError.ErrorSource = "ExtractFiles";
                                wiError.ErrorType = WinImageError.EType.InvalidOperation;
                                return false;
                            }
                            string sPrompt = "One Or More Of The Files Selected For Extraction Already Exist In The Destination Directory.\nAre You Sure You Wish To Overwrite These Files?";
                            if (System.Windows.Forms.MessageBox.Show(sPrompt, "Overwrite Files", System.Windows.Forms.MessageBoxButtons.YesNo) == System.Windows.Forms.DialogResult.No)
                            {
                                //IF they don't want to overwrite then kill the display and exit with an error for information back to the calling procedure
                                wiError.ErrorCause = "One Or More Files Already Exist In The Destination Directory.";
                                wiError.ErrorSource = "ExtractFiles";
                                wiError.ErrorType = WinImageError.EType.InvalidOperation;
                                return false;
                            }
                            //Otherwise, temporarily override the user's OverWrite value and tell child procedures to always overwrite (since that is what the user requested if we got here).
                            break;
                        case OverwriteType.YES:
                            break;
                        default:
                            wiError.ErrorCause = "One Or More Files Already Exist In The Destination Directory.";
                            wiError.ErrorSource = "ExtractFiles";
                            wiError.ErrorType = WinImageError.EType.InvalidOperation;
                            return false;
                    }
                }
                objWork.Root = Root;
                try
                {
                    if (!Silent)
                    {
                        ProgressDialog.TwoStageProgressWindow pDisplay = new ProgressDialog.TwoStageProgressWindow();
                        objWork.ProgDisplay = (pDisplay as ProgressDialog.IProgressCallback);
                        Thread Work = new Thread(new ThreadStart(objWork.ExtractFiles));
                        Work.Start();
                        pDisplay.ShowDialog();
                        pDisplay = null;
                        Work = null;
                    }
                    else { objWork.ExtractFiles(); }
                }
                catch (InvalidDataException e)
                {
                    wiError.ErrorCause = e.Message;
                    wiError.ErrorSource = "ExtractFiles";
                    wiError.ErrorType = WinImageError.EType.InvalidData;
                    return false;
                }
                catch (InvalidOperationException e)
                {
                    wiError.ErrorCause = e.Message;
                    wiError.ErrorSource = "ExtractFiles";
                    wiError.ErrorType = WinImageError.EType.InvalidOperation;
                    return false;
                }
                catch (Exception e)
                {
                    wiError.ErrorCause = e.Message;
                    wiError.ErrorSource = "ExtractFiles";
                    wiError.ErrorType = WinImageError.EType.Other;
                    return false;
                }
                bool bResult = objWork.Success;
                if (!bResult)
                {
                    wiError.ErrorCause = objWork.LastError.ErrorCause;
                    wiError.ErrorSource = "ExtractFiles";
                    wiError.ErrorType = objWork.LastError.ErrorType;
                }
                objWork = null;
                return bResult;
            }
            ~ISOImage() { Dispose(); }
            public ISOImage(string ImageName)
            {
                if (!File.Exists(ImageName))
                {
                    wiError.ErrorCause = "Specified Image Does Not Exist Or Is Not Accessible.\n" + ImageName;
                    wiError.ErrorSource = "Load ISOImage";
                    wiError.ErrorType = WinImageError.EType.InvalidData;
                    return;
                }
                sFileName = System.IO.Path.GetFileName(ImageName);
                sFilePath = System.IO.Path.GetDirectoryName(ImageName);
                iImgHandle = Wimadll.CreateCDIsoIma(ImageName);
                StringBuilder rootDir = new StringBuilder(' ', Wimadll.MAXLFN);
                if (Wimadll.GetCurDir(iImgHandle, rootDir, (uint)Wimadll.MAXLFN))
                {
                    IsoObject root = new IsoObject();
                    root.ShortName = rootDir.ToString();
                    root.LongName = rootDir.ToString();
                    root.ObjectType = IsoObject.ObjType.otDir;
                    root.Key = "root";
                    FileCol.Add(root.Key, root);
                    Root = FileCol["root"];
                    ReadFileList(Root, "root");
                }
            }
        #endregion
        #region Private Methods
            private bool CheckExistance(string DestinationPath, IsoObject isoCurRoot)
            {
                bool bExist = false;
                foreach (IsoObject Item in isoCurRoot.Children)
                {
                    string strOutput = Path.Combine(DestinationPath,Item.LongName);
                    if (Item.ObjectType == IsoObject.ObjType.otDir) { bExist = bExist || CheckExistance(strOutput, Item); } else { bExist = bExist || File.Exists(strOutput); }
                    if (bExist) { break; }
                }
                return bExist;
            }
            private void DisplayImageNodes(ThreeStateTreeNode DisplayRoot, IsoObject ImageRoot)
            {
                foreach (IsoObject ImageChild in ImageRoot.Children)
                {
                    ThreeStateTreeNode curNode = new ThreeStateTreeNode(ImageChild.LongName);
                    curNode.Name = ImageChild.Key;
                    DisplayRoot.Nodes.Add(curNode);
                    if (ImageChild.ObjectType == IsoObject.ObjType.otDir) { DisplayImageNodes(curNode, ImageChild); }
                }
            }
            protected virtual void Dispose(bool disposing)
            {
                if (iImgHandle != IntPtr.Zero)
                {
                    Wimadll.DeleteIma(iImgHandle);
                    iImgHandle = (IntPtr)(-1);
                }
                if (FileCol.Count > 0) { FileCol.Clear(); }
                iFileID = 0;
                iFolderID = 0;
                Root = null;
            }
            private void ReadFileList(IsoObject isoCurRoot, string sParentID)
            {
                long lFiles = Wimadll.GetNbEntryCurDir(iImgHandle);
                Wimadll.DIRINFO[] lpDi = new Wimadll.DIRINFO[lFiles];
                if (Wimadll.GetDirInfo(iImgHandle, lpDi, Wimadll.SORT_NAME))
                {
                    for (int i = 0; i < lFiles; i++)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品99久久久久久久vr | 黑人精品欧美一区二区蜜桃| 日韩国产精品91| 免费的成人av| 色综合天天狠狠| 欧美成人高清电影在线| 国产精品久久久久一区| 日本不卡123| 91理论电影在线观看| 日韩欧美高清dvd碟片| 日韩理论片中文av| 国产精品一品二品| 欧美卡1卡2卡| 亚洲毛片av在线| 国产一区二区三区在线看麻豆| 99久久er热在这里只有精品66| 欧美一区二区三区在线电影| 亚洲丝袜另类动漫二区| 韩国理伦片一区二区三区在线播放| 99精品欧美一区| 久久综合狠狠综合| 亚洲va天堂va国产va久| 一本一道久久a久久精品 | 久久久精品综合| 欧美aaaaaa午夜精品| 在线观看免费亚洲| 国产精品久久久久精k8| 国产东北露脸精品视频| 日韩一区二区三区在线观看| 夜夜爽夜夜爽精品视频| 99久久久无码国产精品| 最新不卡av在线| 91麻豆国产香蕉久久精品| 国产精品日日摸夜夜摸av| 精品亚洲porn| 日韩亚洲欧美在线观看| 日日嗨av一区二区三区四区| 一本大道久久a久久精品综合| 国产精品毛片久久久久久久| 国产精品一级二级三级| 3d成人h动漫网站入口| 亚洲高清免费观看 | 国产婷婷精品av在线| 久久精品国产久精国产| 欧美一区二区三区在线观看视频| 日韩国产欧美三级| 欧美日韩精品一区二区三区蜜桃 | 5566中文字幕一区二区电影| 亚洲第一福利一区| 99国产麻豆精品| 亚洲女人的天堂| 欧美色视频在线观看| 日本不卡的三区四区五区| 日韩区在线观看| 国产在线播精品第三| 国产免费成人在线视频| 99精品久久久久久| 亚洲五月六月丁香激情| 欧美日韩国产在线播放网站| av中文字幕一区| 日韩理论片一区二区| 91久久线看在观草草青青| 国产精品久久久99| 91传媒视频在线播放| 香蕉加勒比综合久久| 91精品国产一区二区三区| 久久精品国产免费看久久精品| 欧美精品一区二区三区视频| 国产成人av影院| 一区二区欧美精品| 欧美精品一级二级| 国产乱色国产精品免费视频| 国产精品久久久久一区二区三区| 日本精品一区二区三区高清| 天天色天天爱天天射综合| 欧美xfplay| 一本一道久久a久久精品综合蜜臀| 亚洲成av人片在线| 久久综合久久综合九色| 欧美亚洲图片小说| 国产精品一区二区久久精品爱涩| 亚洲欧美日韩久久精品| 欧美成人精品高清在线播放| 成人永久aaa| 午夜免费久久看| 国产精品乱码一区二区三区软件 | 国模套图日韩精品一区二区| 亚洲三级理论片| 欧美一区二区三区在线| 成人黄色小视频在线观看| 天天综合色天天| 欧美激情一区二区| 日韩一区二区免费在线电影| 老司机一区二区| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆 | 依依成人综合视频| 日韩午夜激情视频| 懂色一区二区三区免费观看| 亚洲国产欧美在线人成| 中文字幕第一页久久| 欧美日韩精品久久久| 成人av在线网站| 九九国产精品视频| 亚洲第一精品在线| 一区二区三区欧美在线观看| 久久综合久久鬼色| 884aa四虎影成人精品一区| 91碰在线视频| 成人免费不卡视频| 亚洲一区二区三区四区五区黄 | 亚洲一级二级在线| 久久久久久免费网| 欧美成人三级电影在线| 9i在线看片成人免费| 精品一二三四在线| 视频在线观看国产精品| 自拍偷拍国产精品| 亚洲视频一二三区| 狠狠色综合色综合网络| 久久精品免费看| 美女视频黄免费的久久 | 成人性生交大片免费看中文| 国内成人自拍视频| 日韩精品一区第一页| 亚洲在线一区二区三区| 亚洲欧美在线高清| 日韩欧美国产一区在线观看| 成人精品鲁一区一区二区| 欧美放荡的少妇| 欧美日韩免费观看一区二区三区| 欧美午夜宅男影院| 欧美日韩综合在线免费观看| 激情综合色播激情啊| 久久久天堂av| 欧美一区二区三区视频在线| 国产精品一二三区| 秋霞影院一区二区| 日韩一卡二卡三卡国产欧美| 日韩一级二级三级精品视频| 91精品国产91久久综合桃花| 日本系列欧美系列| 美腿丝袜亚洲三区| 久久国产视频网| 国产麻豆精品视频| 成人激情黄色小说| 91久久线看在观草草青青| 一本久久精品一区二区| 欧美在线免费观看视频| 日韩三级电影网址| 久久久久久久性| 国产精品久久久爽爽爽麻豆色哟哟 | 亚洲永久精品国产| 无吗不卡中文字幕| 国产iv一区二区三区| zzijzzij亚洲日本少妇熟睡| 91麻豆免费在线观看| 制服丝袜在线91| 日韩欧美视频一区| 91麻豆精品国产91久久久资源速度 | 国产清纯美女被跳蛋高潮一区二区久久w | 在线看日本不卡| 制服丝袜在线91| 亚洲国产精品av| 一区二区三区在线视频观看| 青青草成人在线观看| 国产成人精品影视| 在线观看亚洲一区| 久久久久久综合| 亚洲综合免费观看高清完整版在线 | 亚洲成人免费影院| 久久99久久99精品免视看婷婷 | 欧美国产丝袜视频| 亚洲一级片在线观看| 国产麻豆视频精品| 欧美少妇性性性| 国产亚洲精品超碰| 天堂影院一区二区| 国产精品99久久不卡二区| 色欧美日韩亚洲| 欧美日韩电影一区| 国产精品精品国产色婷婷| 一区二区欧美在线观看| 国产一区二区三区高清播放| 成人sese在线| 精品久久久久久久久久久久久久久久久| 欧美电影免费观看高清完整版在线观看| 国产精品拍天天在线| 首页综合国产亚洲丝袜| 91免费在线视频观看| 日韩亚洲电影在线| 久久精品一区二区三区四区| 亚洲免费观看在线视频| 狠狠色狠狠色综合系列| 在线观看欧美精品| 欧美国产成人精品| 国产在线播放一区二区三区| 欧美剧情片在线观看| 日韩国产在线一| 亚洲激情校园春色| 欧美日韩专区在线|