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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? unitmain.~pas

?? 易游虛擬還原相關(guān)程序,易游虛擬還原相關(guān)程序
?? ~PAS
字號:
unit unitMain;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Registry, StdCtrls;

Const
//下面常量以創(chuàng)建文件時的path、name和size為準,聲明常量只為演示
  cvdFileName:String='111.cvd';
  bakFileName:String='111.cvdbak';
  LocalDiskName:String='d:\';
  MountPoint:String='e:\test\';

type
  TfrmMain = class(TForm)
    GroupBox1: TGroupBox;
    btnSetup: TButton;
    GroupBox2: TGroupBox;
    btnPowerOn: TButton;
    GroupBox3: TGroupBox;
    btnCreateFile: TButton;
    btnDeleteFile: TButton;
    btnMountDisk: TButton;
    btnUmountDisk: TButton;
    btnProtectDisk: TButton;
    btnUprotectDisk: TButton;
    procedure btnCreateFileClick(Sender: TObject);
    procedure btnSetupClick(Sender: TObject);
    procedure btnPowerOnClick(Sender: TObject);
    procedure btnDeleteFileClick(Sender: TObject);
    procedure btnMountDiskClick(Sender: TObject);
    procedure btnUmountDiskClick(Sender: TObject);
    procedure btnProtectDiskClick(Sender: TObject);
    procedure btnUprotectDiskClick(Sender: TObject);

  private
    { Private declarations }
  public
  end;

  Function EplDriveDisk(strParameter:String):integer;stdcall;external 'epldrive.dll';
  Function mksparse(strFilePath,strFileSize:String):integer;stdcall;external  'mksparse.dll';
  Function GetVolume(strVolumeMountPoint, strVolumeName:String; intBufferLength:Longword):integer; stdcall; external 'DiskVolume.dll';
  Function DeleteVolume(strVolumeMountPoint:String):integer;stdcall;external 'DiskVolume.dll';
  Function SetVolume(strVolumeMountPoint,strVolumeName:String):integer;stdcall;external 'DiskVolume.dll';


  Function GetCvdFileSize():String;
  Function GetVolumeName():String;

var
  frmMain: TfrmMain;

implementation

uses unitCreateFile;

{$R *.dfm}


procedure TfrmMain.btnSetupClick(Sender: TObject);
var
  bufVolumeName:String;
  rc:integer;
  Reg:TRegistry;
begin
  //獲取D分區(qū)的VolumeName
  SetLength(bufVolumeName,1024);
  rc:=GetVolume(LocalDiskName,bufVolumeName,1024);
  if rc<>0 then
  begin
    ShowMessage('GetVolume失敗');
    exit;
  end;

  //把VolumeName寫入注冊表
  Reg:=Tregistry.Create;
  try
    Reg.RootKey:=HKEY_LOCAL_MACHINE;
    if Reg.OpenKey('\Software\E-Play',True) then
      Reg.WriteString('VolumeName',bufVolumeName);
  Finally
    Reg.CloseKey;
    Reg.Free;
  end;

  //隱藏盤符
  rc:=DeleteVolume(LocalDiskName);
  if rc<>0 then
  begin
    ShowMessage('隱藏D分區(qū)失敗,程序退出');
    exit;
  end;

  //生成磁盤加載點
  rc:=SetVolume(MountPoint,bufVolumeName);
  if rc<>0 then
  begin
    ShowMessage('生成加載點失敗,程序退出');
    exit;
  end;

  //隱藏加載點
  rc:=DeleteVolume(MountPoint);
  if rc<>0 then
  begin
    ShowMessage('隱藏加載點失敗,程序退出');
    exit;
  end;

  //以下代碼與調(diào)用無關(guān),僅為示例的正常運行
  SetVolume(LocalDiskName,bufVolumeName);
  ShowMessage('成功');
end;


procedure TfrmMain.btnPowerOnClick(Sender: TObject);
var
  VolumeName:String;
  rc:integer;
  strTemp:String;
  cvdFileSize:String;
begin
  //該段代碼與調(diào)用無關(guān),僅為示例可以正常運行
  DeleteVolume(LocalDiskName);

  //以下代碼有效
  //從注冊表獲取VolumeName
  VolumeName:=GetVolumeName();

  //從注冊表獲取cvdFileSize
  cvdFileSize:=GetCvdFileSize();

  //由VolumeName生成加載點
  rc:=SetVolume(MountPoint,VolumeName);
  if rc<>0 then
  begin
    ShowMessage('生成加載點失敗,程序退出');
    exit;
  end;

  //刪除bak文件
  if not DeleteFile(MountPoint+bakFileName) then
  begin
    ShowMessage('刪除bak文件失敗,程序退出');
    exit;
  end;

  //開機創(chuàng)建bak文件
  rc:=mksparse(MountPoint+bakFileName,'1M');
  if rc<>0 then
  begin
    ShowMessage('創(chuàng)建bak文件失敗,程序退出');
    exit;
  end;

  //加載虛擬盤
  strTemp:='/mount 0 ' + MountPoint+cvdFilename + ' ' + cvdFileSize + ' ' + 'd:';
  rc:=EplDriveDisk(strTemp);
  if rc<>0 then
  begin
    ShowMessage('加載虛擬D失敗');
    exit;
  end;

  //隱藏加載點
  rc:=DeleteVolume(MountPoint);
  if rc<>0 then
  begin
    ShowMessage('隱藏加載點失敗');
    exit;
  end;

  ShowMessage('成功');
end;


procedure TfrmMain.btnCreateFileClick(Sender: TObject);
begin
  frmCreateFile.show;
end;

procedure TfrmMain.btnDeleteFileClick(Sender: TObject);
begin
  if not DeleteFile(LocalDiskName+cvdFileName) then
  begin
    ShowMessage('刪除cvd文件失敗,請檢查文件是否存在或者是否被占用中');
    exit;
  end;

  if not DeleteFile(LocalDiskName+bakFileName) then
  begin
    ShowMessage('刪除bak文件失敗,請檢查文件是否存在或者是否被占用中');
    exit;
  end;

  ShowMessage('刪除成功');
end;

procedure TfrmMain.btnMountDiskClick(Sender: TObject);
var
  VolumeName:String;
  strTemp:String;
  rc:integer;
  cvdFileSize:String;
begin
  //從注冊表獲取VolumeName
 VolumeName:=GetVolumeName();

 //從注冊表獲取cvdFileSize
 cvdFileSize:=GetCvdFileSize();

  //隱藏物理分區(qū)
  rc:=DeleteVolume(LocalDiskName);
  if rc<>0 then
  begin
    ShowMessage('隱藏D分區(qū)失敗,程序退出');
    exit;
  end;

  //生成加載點
  ShowMessage(MountPoint);
  rc:=SetVolume(MountPoint,VolumeName);
  if rc<>0 then
  begin
    ShowMessage('生成加載點失敗,程序退出');
    exit;
  end;

  //加載虛擬盤
  strTemp:='/mount 0 ' + MountPoint + cvdFileName + ' ' + cvdFileSize + ' ' + LocalDiskName;
  rc:=EplDriveDisk(strTemp);
  if rc<>0 then
  begin
    ShowMessage('生成虛擬盤失敗');
    exit;
  end;

  //隱藏加載點
  rc:=DeleteVolume(MountPoint);
  if rc<>0 then
  begin
    ShowMessage('隱藏加載點失敗');
    exit;
  end;

  ShowMessage('成功');
end;

procedure TfrmMain.btnUmountDiskClick(Sender: TObject);
var
  VolumeName:String;
  rc:integer;
  strTemp:string;
begin
  //從注冊表里獲取VolumeName
 VolumeName:=GetVolumeName();

  strTemp:='/umount ' + LocalDiskName;
  rc:=EplDriveDisk(strTemp);
  if rc<>0 then
  begin
    ShowMessage('卸載虛擬盤失敗');
    exit;
  end;

  //還原物理分區(qū)
  rc:=SetVolume(LocalDiskName,VolumeName);
  if rc<>0 then
  begin
    ShowMessage('生成D盤失敗');
    exit;
  end;

  ShowMessage('成功');
end;


procedure TfrmMain.btnProtectDiskClick(Sender: TObject);
var
  VolumeName:String;
  rc:integer;
  strTemp:String;
  cvdFileSize:String;
begin
  //從注冊表獲取VolumeName
  VolumeName:=GetVolumeName();

  //從注冊表獲取cvdFileSize
  cvdFileSize:=GetCvdFileSize();

  //卸載虛擬分區(qū)
  strTemp:='/umount ' + LocalDiskName;
  rc:=EplDriveDisk(strTemp);
  if rc<>0 then
  begin
    ShowMessage('卸載虛擬分區(qū)失敗');
    exit;
  end;

  //生成加載點
  rc:=SetVolume(MountPoint,VolumeName);
  if rc<>0 then
  begin
    ShowMessage('生成加載點失敗');
    exit;
  end;

  //加載虛擬分區(qū)
  strTemp:='/mount 0 ' + MountPoint + cvdFileName + ' ' + cvdFileSize + ' ' + LocalDiskName;
  rc:=EplDriveDisk(strTemp);
  if rc<>0 then
  begin
    ShowMessage('加載D盤失敗');
    exit;
  end;

  //設(shè)置磁盤為保護狀態(tài)
  rc:=EplDriveDisk('/setflag d: 1');
  if rc<>0 then
  begin
    ShowMessage('設(shè)置D盤保護狀態(tài)失敗');
    exit;
  end;

  //隱藏加載點
  rc:=DeleteVolume(MountPoint);
  if rc<>0 then
  begin
    ShowMessage('刪除加載點失敗');
    exit;
  end;

  ShowMessage('成功');
end;

procedure TfrmMain.btnUprotectDiskClick(Sender: TObject);
var
  VolumeName:String;
  rc:integer;
  strTemp:String;
  cvdFileSize:String;
begin
  //從注冊表獲取VolumeName
  VolumeName:=GetVolumeName();

  //從注冊表獲取cvdFileSize
  cvdFileSize:=GetCvdFileSize();

  //卸載虛擬盤
  strTemp:='/umount ' + LocalDiskName;
  rc:=EplDriveDisk(strTemp);
  if rc<>0 then
  begin
    ShowMessage('卸載D盤失敗');
    exit;
  end;

  //生成加載點
  rc:=SetVolume(MountPoint,VolumeName);
  if rc<>0 then
  begin
    ShowMessage('生成加載點失敗');
    exit;
  end;

  //加載虛擬盤
  strTemp:='/mount 0 ' + MountPoint + cvdFileName + ' ' + cvdFileSize + ' ' + 'd:';
  rc:=EplDriveDisk(strTemp);
  if rc<>0 then
  begin
    ShowMessage('加載虛擬盤失敗');
    exit;
  end;

  //設(shè)置虛擬盤為非保護狀態(tài)
  rc:=EplDriveDisk('/setflag d: 0');
  if rc<>0 then
  begin
    ShowMessage('設(shè)置D盤非保護狀態(tài)失敗');
    exit;
  end;

  //隱藏加載點
  rc:=DeleteVolume(MountPoint);
  if rc<>0 then
  begin
    ShowMessage('刪除加載點失敗');
    exit;
  end;

  ShowMessage('成功');
end;


Function GetVolumeName():String;
var
  Reg:TRegistry;
  VolumeName:String;
begin
  Reg:=TRegistry.Create;
  try
  Reg.RootKey:=HKEY_LOCAL_MACHINE;
  if not Reg.KeyExists('\Software\E-Play') then
    begin
      ShowMessage('讀取注冊表失敗,鍵值不存在');
      exit;
    end
  else
    begin
      Reg.OpenKey('\Software\E-Play',False);
      if not Reg.ValueExists('VolumeName') then
        begin
          ShowMessage('鍵值不存在');
          exit;
        end
      else
        begin
          VolumeName:=Reg.ReadString('VolumeName');
          if VolumeName='' then
            begin
              ShowMessage('VolumeName為空');
              exit;
            end;
        end;
    end;
  finally
    Reg.CloseKey;
    Reg.Free;
  end;
  result:=VolumeName;
end;


Function GetCvdFileSize():String;
var
  Reg:TRegistry;
  cvdFileSize:String;
begin
  Reg:=TRegistry.Create;
  try
  Reg.RootKey:=HKEY_LOCAL_MACHINE;
  if not Reg.KeyExists('\Software\E-Play') then
    begin
      ShowMessage('讀取注冊表失敗,鍵值不存在');
      exit;
    end
  else
    begin
      Reg.OpenKey('\Software\E-Play',False);
      if not Reg.ValueExists('cvdFileSize') then
        begin
          ShowMessage('鍵值不存在');
          exit;
        end
      else
        begin
          cvdFileSize:=Reg.ReadString('cvdFileSize');
          if cvdFileSize='' then
            begin
              ShowMessage('cvdFileSize為空');
              exit;
            end;
        end;
    end;
  finally
    Reg.CloseKey;
    Reg.Free;
  end;
  result:=cvdFileSize;
end;

end.

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲免费资源在线播放| 一区二区三区欧美视频| 一本到一区二区三区| 丝袜美腿亚洲综合| 中文字幕乱码日本亚洲一区二区| 欧美色爱综合网| 国产成人在线影院| 日韩成人免费电影| 亚洲人精品一区| 久久亚洲欧美国产精品乐播 | 色婷婷国产精品久久包臀| 久久国产尿小便嘘嘘| 亚洲香肠在线观看| 国产精品第四页| 精品乱人伦小说| 欧美日韩mp4| 91欧美一区二区| 成人午夜激情在线| 精东粉嫩av免费一区二区三区| 亚洲观看高清完整版在线观看| 中文字幕的久久| 久久久久久久久久久黄色 | 2019国产精品| 欧美va日韩va| 欧美一区二区三区成人| 91国内精品野花午夜精品| 成人av中文字幕| 国产麻豆精品95视频| 日本在线不卡视频| 亚洲精品成人a在线观看| 国产精品国产自产拍在线| 久久综合久久综合九色| 精品国产乱码久久久久久老虎| 欧美日韩在线电影| 欧美日韩中文一区| 欧美亚男人的天堂| 欧美日韩国产一区| 欧美乱熟臀69xxxxxx| 欧美日韩高清不卡| 欧美日韩视频在线观看一区二区三区| 色国产综合视频| 色一情一乱一乱一91av| 色视频一区二区| 欧洲视频一区二区| 欧美男人的天堂一二区| 在线成人午夜影院| 日韩三级免费观看| 精品国产麻豆免费人成网站| 久久久久久一级片| 中文无字幕一区二区三区| 欧美国产精品劲爆| 国产精品久久看| 18涩涩午夜精品.www| 国产亚洲成年网址在线观看| 日韩免费成人网| 免费高清不卡av| 精品一二三四在线| 视频一区二区中文字幕| 久久福利视频一区二区| 亚洲成人在线免费| 亚洲人精品一区| 久久日一线二线三线suv| 91精品国产色综合久久不卡蜜臀 | 日本精品一级二级| 国产伦精品一区二区三区免费迷 | 99久久99久久免费精品蜜臀| 国产一区二区在线看| 午夜不卡av在线| 卡一卡二国产精品| 日韩1区2区日韩1区2区| 亚洲成人动漫在线观看| 亚洲综合一区二区三区| 成人欧美一区二区三区1314| 国产精品国产精品国产专区不蜜 | 不卡视频在线观看| 欧美日韩在线免费视频| 欧美亚洲国产怡红院影院| 一本大道久久a久久综合婷婷| 日本强好片久久久久久aaa| 亚洲午夜国产一区99re久久| 中文字幕制服丝袜成人av| 国产精品美女久久福利网站| 欧美不卡一区二区三区四区| 91麻豆精品国产91久久久| 欧美另类videos死尸| 欧美剧情电影在线观看完整版免费励志电影 | 久久激情五月激情| 久久精品噜噜噜成人av农村| 91在线视频播放| 99久久精品费精品国产一区二区| 91丨porny丨在线| 欧美变态tickling挠脚心| 日韩精品一区国产麻豆| 久久综合网色—综合色88| 久久久久久麻豆| 欧美精品v日韩精品v韩国精品v| 久久久久久麻豆| 最新日韩在线视频| 精品一区二区在线看| 欧美曰成人黄网| 久久美女高清视频 | 欧美国产一区视频在线观看| 国产女主播在线一区二区| 天天综合网天天综合色| 日本午夜一本久久久综合| 狠狠色狠狠色综合系列| 91视频你懂的| 欧美三级在线看| 日韩你懂的电影在线观看| 欧美日本一区二区三区| 亚洲色图制服丝袜| 偷窥少妇高潮呻吟av久久免费| 美国av一区二区| 日韩电影在线观看一区| 亚洲一区二区三区不卡国产欧美| 天使萌一区二区三区免费观看| 精品在线播放免费| av激情综合网| 亚洲国产激情av| 亚洲午夜久久久久久久久久久| 秋霞成人午夜伦在线观看| 日韩高清在线不卡| 国产成人自拍网| 欧美色综合影院| 欧美日韩激情一区二区| 亚洲一区二区三区四区五区中文| 狂野欧美性猛交blacked| 99亚偷拍自图区亚洲| 国产精品久久久久久久久搜平片| 午夜伦欧美伦电影理论片| 国产酒店精品激情| 色欧美片视频在线观看| 欧美成人乱码一区二区三区| 亚洲男帅同性gay1069| 亚洲国产日韩一级| 欧美日韩黄视频| 国产精品毛片大码女人| 日本三级亚洲精品| 秋霞影院一区二区| 粉嫩av亚洲一区二区图片| 国产女人aaa级久久久级| 亚洲电影你懂得| 成人综合在线视频| 欧美本精品男人aⅴ天堂| 夜夜操天天操亚洲| 成人黄色片在线观看| 欧美午夜宅男影院| 午夜精品爽啪视频| 成人av网站免费| 成人精品一区二区三区中文字幕| 欧美国产97人人爽人人喊| 日韩影视精彩在线| av一二三不卡影片| 一区二区三区四区在线| 国产·精品毛片| 欧美成人精精品一区二区频| 国产99一区视频免费| 欧美一级片在线| 亚洲成av人影院在线观看网| 91精品婷婷国产综合久久竹菊| 亚洲天堂av老司机| 成人av电影在线观看| 一区二区三区中文在线| 成人一二三区视频| 精品国产乱码久久久久久久| www.66久久| 国产午夜亚洲精品羞羞网站| 日本不卡1234视频| 91视频在线观看免费| 中文av字幕一区| 国产成人免费xxxxxxxx| 国产精品久久久久7777按摩| 国产成人精品免费视频网站| 精品免费99久久| 亚洲福利一二三区| 久久久蜜桃精品| 激情丁香综合五月| 欧美日韩成人综合| 国产激情偷乱视频一区二区三区| 欧美精品一区二| 亚洲欧美自拍偷拍| 69堂成人精品免费视频| 日韩一区二区三区免费看| 亚洲成人av在线电影| 美日韩一区二区三区| 日韩精品资源二区在线| 老色鬼精品视频在线观看播放| 99精品一区二区三区| 亚洲国产精品成人久久综合一区| 久久aⅴ国产欧美74aaa| 在线综合+亚洲+欧美中文字幕| 丰满白嫩尤物一区二区| 中文字幕日韩一区二区| 色综合夜色一区| 国产一区二区网址| 国产精品美女久久久久aⅴ| 91在线观看高清| 欧美三级韩国三级日本三斤| 亚洲成人免费av| 欧美精品在线视频|