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

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

?? unitpublicfunction.pas

?? 手機批發商進銷存管理
?? PAS
?? 第 1 頁 / 共 2 頁
字號:
  lpnLength:DWORD;
begin
  Result :='';
  lpnLength := 0;
  WNetGetUser(Nil,Nil,lpnLength);
  if lpnLength>0 then
  begin
    GetMem(lpUserName,lpnLength);
    if WNetGetUser(lpName,lpUserName,lpnLength)=NO_ERROR then
      Result := lpUserName;
    FreeMem(lpUserName,lpnLength);
  end;
end;

function HideAppTask:Boolean;//使程序不出現在任務欄
begin
  try
    SetWindowLong(Application.Handle,GWL_EXSTYLE,WS_EX_TOOLWINDOW);
    result := True;
  except
    result := False;
  end;
end;

function SetComputerName(name:string):Boolean;//改變計算機在網絡中的名字
begin
  try
    SetComputerName(PChar(name));
    result := True;
  except
    result := False;
  end;
end;

function GetSysPath:string;//獲取WINDOWS系統路徑
var
  MySysPath : PChar;
begin
  GetMem(MySysPath,255);
  GetSystemDirectory(MySysPath,255);
  Result := MySysPath;
end;

function GetSysInfo:string;//獲取WINDOWS版本信息
var
  s : AnsiString;
  OSVI : OSVERSIONINFO;
begin
  OSVI.dwOSVersionInfoSize := sizeof(OSVERSIONINFO);
  GetVersionEx(OSVI);
  s := IntToStr(OSVI.dwMajorVersion)+'.'+IntToStr(OSVI.dwMinorVersion)
       +'.'+IntToStr(OSVI.dwBuildNumber)+'.'+IntToStr(OSVI.dwPlatformId)
       +OSVI.szCSDVersion;
  Result := s;
end;

function IsEqualsTStrs(A,B:TStrings):Boolean;//比較兩個TStrings
var
  i : integer;
  function SearchTStrs(tmpstr:string;sourceTStrs:TStrings):Boolean;
  var
    j : integer;
  begin
    Result := False;
    for j:=0 to sourceTStrs.Count-1 do
    begin
      if tmpstr=sourceTStrs.Strings[j] then
      begin
        Result := True;
        Break;
      end;
    end;
  end;
begin
  Result := True;
  if A.Count<>B.Count then
  begin
    Result := False;
    Exit;
  end;
  for i:=0 to A.Count-1 do
  begin
    if not SearchTStrs(A.Strings[i],B) then
    begin
      Result := False;
      Break;
    end;
  end;
end;

function IsDate(tmp:string):Boolean;//判斷是否為合法日期
var
  s : string;
begin
  Result := True;
  if tmp<>'' then
  begin
    if length(tmp)<>8 then
    begin
      Result := False;
      Exit;
    end;
    try
      s := copy(tmp,1,4)+'-'+copy(tmp,5,2)+'-'+copy(tmp,7,2);
      StrToDate(s);
    except
      Result := False;
    end;
  end;
end;

function CopyDir(fromdir,todir:string):Boolean;
var
  OPStruc : TSHFileOpStruct;
  frombuf,tobuf : array [0..128] of Char;
begin
  try
    Result := False;
    FillChar(frombuf,sizeof(frombuf),0);
    FillChar(tobuf,sizeof(tobuf),0);
    if copy(fromdir,length(fromdir),1)='\' then
      StrPCopy(frombuf,fromdir+'\*.*')
    else
      StrPCopy(frombuf,fromdir);
    StrPCopy(tobuf,todir);
    with OpStruc do
    begin
      Wnd := Application.Handle;
      wFunc := FO_COPY;
      pFrom := @frombuf;
      pTo := @tobuf;
      fFlags := FOF_NOCONFIRMATION or FOF_RENAMEONCOLLISION;
      fAnyOperationsAborted := False;
      hNameMappings := Nil;
      lpszProgressTitle := Nil;
    end;
    ShFileOperation(OpStruc);
    Result := True;
  except
    Result := False;
  end;
end;

function GetIdeSerialNumber: PChar;//獲取第一個IDE硬盤的序列號
const
   IDENTIFY_BUFFER_SIZE = 512;
type
   TIDERegs = packed record
    bFeaturesReg     : BYTE; // Used for specifying SMART "commands".
    bSectorCountReg  : BYTE; // IDE sector count register
    bSectorNumberReg : BYTE; // IDE sector number register
    bCylLowReg       : BYTE; // IDE low order cylinder value
    bCylHighReg      : BYTE; // IDE high order cylinder value
    bDriveHeadReg    : BYTE; // IDE drive/head register
    bCommandReg      : BYTE; // Actual IDE command.
    bReserved        : BYTE; // reserved for future use.  Must be zero.
  end;
  TSendCmdInParams = packed record
    // Buffer size in bytes
    cBufferSize  : DWORD;
    // Structure with drive register values.
    irDriveRegs  : TIDERegs;
    // Physical drive number to send command to (0,1,2,3).
    bDriveNumber : BYTE;
    bReserved    : Array[0..2] of Byte;
    dwReserved   : Array[0..3] of DWORD;
    bBuffer      : Array[0..0] of Byte;  // Input buffer.
  end;
  TIdSector = packed record
    wGenConfig                 : Word;
    wNumCyls                   : Word;
    wReserved                  : Word;
    wNumHeads                  : Word;
    wBytesPerTrack             : Word;
    wBytesPerSector            : Word;
    wSectorsPerTrack           : Word;
    wVendorUnique              : Array[0..2] of Word;
    sSerialNumber              : Array[0..19] of CHAR;
    wBufferType                : Word;
    wBufferSize                : Word;
    wECCSize                   : Word;
    sFirmwareRev               : Array[0..7] of Char;
    sModelNumber               : Array[0..39] of Char;
    wMoreVendorUnique          : Word;
    wDoubleWordIO              : Word;
    wCapabilities              : Word;
    wReserved1                 : Word;
    wPIOTiming                 : Word;
    wDMATiming                 : Word;
    wBS                        : Word;
    wNumCurrentCyls            : Word;
    wNumCurrentHeads           : Word;
    wNumCurrentSectorsPerTrack : Word;
    ulCurrentSectorCapacity    : DWORD;
    wMultSectorStuff           : Word;
    ulTotalAddressableSectors  : DWORD;
    wSingleWordDMA             : Word;
    wMultiWordDMA              : Word;
    bReserved                  : Array[0..127] of BYTE;
  end;
  PIdSector = ^TIdSector;
  TDriverStatus = packed record
    // 驅動器返回的錯誤代碼,無錯則返回0
    bDriverError : Byte;
    // IDE出錯寄存器的內容,只有當bDriverError 為 SMART_IDE_ERROR 時有效
    bIDEStatus   : Byte;
    bReserved    : Array[0..1] of Byte;
    dwReserved   : Array[0..1] of DWORD;
  end;
  TSendCmdOutParams = packed record
    // bBuffer的大小
    cBufferSize  : DWORD;
    // 驅動器狀態
    DriverStatus : TDriverStatus;
    // 用于保存從驅動器讀出的數據的緩沖區,實際長度由cBufferSize決定
    bBuffer      : Array[0..0] of BYTE;
  end;
var
  hDevice : THandle;
  cbBytesReturned : DWORD;
  ptr : PChar;
  SCIP : TSendCmdInParams;
  aIdOutCmd : Array [0..(SizeOf(TSendCmdOutParams)+IDENTIFY_BUFFER_SIZE-1)-1] of Byte;
  IdOutCmd  : TSendCmdOutParams absolute aIdOutCmd;
procedure ChangeByteOrder( var Data; Size : Integer );
var ptr : PChar;
    i : Integer;
    c : Char;
begin
  ptr := @Data;
  for i := 0 to (Size shr 1)-1 do begin
    c := ptr^;
    ptr^ := (ptr+1)^;
    (ptr+1)^ := c;
    Inc(ptr,2);
  end;
end;
begin
  Result := ''; // 如果出錯則返回空串
  if SysUtils.Win32Platform=VER_PLATFORM_WIN32_NT then// Windows NT, Windows 2000
  begin
      // 提示! 改變名稱可適用于其它驅動器,如第二個驅動器: '\\.\PhysicalDrive1\'
      hDevice := CreateFile( '\\.\PhysicalDrive0', GENERIC_READ or GENERIC_WRITE,
        FILE_SHARE_READ or FILE_SHARE_WRITE, nil, OPEN_EXISTING, 0, 0 );
  end
  else // Version Windows 95 OSR2, Windows 98
  begin
    hDevice := CreateFile( '\\.\SMARTVSD', 0, 0, nil, CREATE_NEW, 0, 0 );
  end;
  if hDevice=INVALID_HANDLE_VALUE then Exit;
  try
    FillChar(SCIP,SizeOf(TSendCmdInParams)-1,#0);
    FillChar(aIdOutCmd,SizeOf(aIdOutCmd),#0);
    cbBytesReturned := 0;
    // Set up data structures for IDENTIFY command.
    with SCIP do
    begin
      cBufferSize  := IDENTIFY_BUFFER_SIZE;
//      bDriveNumber := 0;
      with irDriveRegs do
      begin
        bSectorCountReg  := 1;
        bSectorNumberReg := 1;
//      if Win32Platform=VER_PLATFORM_WIN32_NT then bDriveHeadReg := $A0
//      else bDriveHeadReg := $A0 or ((bDriveNum and 1) shl 4);
        bDriveHeadReg    := $A0;
        bCommandReg      := $EC;
      end;
    end;
    if not DeviceIoControl( hDevice, $0007c088, @SCIP, SizeOf(TSendCmdInParams)-1,
      @aIdOutCmd, SizeOf(aIdOutCmd), cbBytesReturned, nil ) then Exit;
  finally
    CloseHandle(hDevice);
  end;
  with PIdSector(@IdOutCmd.bBuffer)^ do
  begin
    ChangeByteOrder( sSerialNumber, SizeOf(sSerialNumber) );
    (PChar(@sSerialNumber)+SizeOf(sSerialNumber))^ := #0;
    Result := PChar(@sSerialNumber);
  end;
end;

function GetGUID:String;
var
  TmpGUID: TGUID;
begin
  Result := 'error';
  if CoCreateGUID(TmpGUID) = S_OK then
    Result := GUIDToString(TmpGUID);
end;

end.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产高清在线观看视频| 欧美三级欧美一级| 精品对白一区国产伦| 亚洲成a人v欧美综合天堂| 色偷偷88欧美精品久久久| 国产精品日韩成人| 成人小视频免费在线观看| 久久婷婷久久一区二区三区| 韩国一区二区在线观看| 精品三级av在线| 国产精品综合一区二区三区| 欧美不卡激情三级在线观看| 久久激情综合网| 亚洲精品一区在线观看| 精品无码三级在线观看视频| 久久众筹精品私拍模特| 国产.精品.日韩.另类.中文.在线.播放| 日韩欧美在线综合网| 国内久久婷婷综合| 日本一区二区免费在线| 一本色道a无线码一区v| 亚洲最大成人综合| 日韩你懂的电影在线观看| 丰满白嫩尤物一区二区| 亚洲综合免费观看高清完整版 | 三级亚洲高清视频| 在线电影院国产精品| 日本不卡一区二区三区 | 在线电影欧美成精品| 懂色一区二区三区免费观看| 欧美成人官网二区| 国产在线乱码一区二区三区| 国产精品久久毛片| 欧洲一区二区三区免费视频| 偷拍日韩校园综合在线| 精品剧情v国产在线观看在线| 国产精品中文字幕日韩精品 | 欧美精品一区二区三区视频| www.在线成人| 日韩国产欧美在线观看| 2020日本不卡一区二区视频| 在线影视一区二区三区| 免费成人在线观看| 中文在线资源观看网站视频免费不卡| 91成人在线免费观看| 韩日欧美一区二区三区| 国产精品免费久久久久| 欧美日本在线视频| 91色在线porny| 国产精品综合二区| 亚洲午夜视频在线观看| 国产日韩亚洲欧美综合| 7777精品久久久大香线蕉 | 最近日韩中文字幕| 精品福利视频一区二区三区| 欧美色综合天天久久综合精品| 国产精品一二一区| 久久av资源站| 青青草原综合久久大伊人精品| 中文字幕中文字幕一区二区| 欧美一区二区三区免费在线看| www.欧美日韩| 国产成人av自拍| 黄色资源网久久资源365| 日韩精品色哟哟| 亚洲国产cao| 亚洲免费观看在线视频| 精品国产凹凸成av人网站| 欧美日韩成人在线一区| 欧美在线观看视频一区二区三区| 国产乱对白刺激视频不卡| 久久99蜜桃精品| 国产一区二区按摩在线观看| 九九热在线视频观看这里只有精品| 日韩电影在线看| 另类小说图片综合网| 美美哒免费高清在线观看视频一区二区 | 亚洲国产另类av| 午夜免费久久看| 亚洲国产综合色| 久久精品国产77777蜜臀| 国产乱淫av一区二区三区| 成人性生交大片免费看在线播放| 免费看欧美美女黄的网站| 五月激情六月综合| 日韩电影一区二区三区| 久久精品99国产精品| 国产精品中文欧美| 成av人片一区二区| 成人国产免费视频| 成人精品一区二区三区四区 | 韩国成人在线视频| 粉嫩一区二区三区在线看| 国产91露脸合集magnet| 99久久精品国产精品久久| 欧美影院一区二区| 日韩欧美三级在线| 亚洲日本乱码在线观看| 精品一区二区三区在线播放| 国产精品亚洲一区二区三区在线 | 中文字幕日韩一区二区| 18欧美亚洲精品| 日韩成人一级片| 成人精品高清在线| 在线日韩国产精品| 精品国一区二区三区| 亚洲精品日日夜夜| 久久精品国产第一区二区三区| 成人avav影音| 欧美这里有精品| 欧美国产精品劲爆| 亚洲一区在线免费观看| 国产在线一区二区综合免费视频| 91麻豆精品视频| 欧美一区二区日韩一区二区| 欧美国产日产图区| 美腿丝袜亚洲综合| 色婷婷激情综合| 国产校园另类小说区| 日韩**一区毛片| 色先锋资源久久综合| 国产亚洲欧洲997久久综合| 亚洲福利视频三区| 懂色av中文一区二区三区| 这里只有精品免费| 亚洲视频一二三| 国产成人av自拍| 精品国产1区二区| 亚洲亚洲人成综合网络| 丰满少妇在线播放bd日韩电影| 日韩三级精品电影久久久| 亚洲综合在线电影| 91一区二区在线观看| 国产欧美一区视频| 激情文学综合丁香| 精品国精品国产尤物美女| 全国精品久久少妇| 成人av在线播放网站| 国产精品无码永久免费888| 国产伦精品一区二区三区免费 | 国产欧美日韩三级| 成人污视频在线观看| 亚洲福利视频三区| 精品乱人伦小说| 一本一道波多野结衣一区二区| 一区二区三国产精华液| 欧美三级一区二区| 图片区小说区区亚洲影院| 日韩欧美的一区二区| 成人性生交大片免费看视频在线| 国产精品传媒在线| 欧美一区二区三区在线| 成人午夜私人影院| 亚洲一线二线三线视频| 久久亚洲一区二区三区四区| 在线免费观看成人短视频| 亚洲777理论| 久久久久99精品一区| 日韩欧美在线一区二区三区| 色综合久久综合网欧美综合网| 免费成人av在线播放| 中文字幕的久久| 欧美美女网站色| 99re热这里只有精品视频| 秋霞午夜鲁丝一区二区老狼| 欧美一区二区三区在线观看视频| 国产黄色精品视频| 亚洲bt欧美bt精品| 亚洲美女视频在线| 欧美经典三级视频一区二区三区| 欧美最新大片在线看| 成人免费观看视频| 亚洲欧美韩国综合色| 亚洲精品一区二区三区在线观看| 色悠悠久久综合| 99精品国产99久久久久久白柏 | 99久久久久免费精品国产| 日韩av一级电影| 亚洲男人天堂av| 中文字幕人成不卡一区| 久久久777精品电影网影网 | 日韩国产欧美视频| 卡一卡二国产精品| 美女视频一区二区| 亚洲r级在线视频| 日韩黄色免费网站| 久久福利视频一区二区| 国产精品国产自产拍高清av王其 | 久草这里只有精品视频| 无码av中文一区二区三区桃花岛| 国产欧美日产一区| 中文字幕av在线一区二区三区| 精品国产亚洲在线| 日韩免费视频线观看| 日韩欧美123| 国产欧美日韩另类视频免费观看| 国产网红主播福利一区二区| 精品国产网站在线观看| 欧美v国产在线一区二区三区| 91污在线观看|