procedure TForm1_main.btn_flashClick(Sender: TObject);
var
  Hdev: THandle;
  devNum:Char;
  // GetHardwardIDs
  ShowText: string;
  buf: array [0 .. 511] of Byte;
  ReadCount, i: Cardinal;
  phyDrvNum: Integer;
  Drive:string;  temp:Byte;
  tebl:Boolean;
  tttt:Cardinal;
  jjjj:Cardinal;begin
  if cbb1.Items.Count = 0 then
  begin
    MessageBox(Handle, '没有检测到U盘,请插入U盘后重试!', '错误', MB_OK + MB_ICONSTOP);
    exit;
  end;
  devNum := cbb1.Items[cbb1.ItemIndex][1];
  phyDrvNum := GetHardwardIDs(devNum);
 // ShowMessage(Format('\\.\PhysicalDrive%d', [phyDrvNum]));
  Drive := Format('\\.\PhysicalDrive%d', [phyDrvNum]);
  Hdev := CreateFile(Pchar(Drive), GENERIC_ALL,
    FILE_SHARE_READ or FILE_SHARE_WRITE, nil, OPEN_EXISTING, 0, 0);
  if Hdev = INVALID_HANDLE_VALUE then
  begin
    MessageBox(Handle, '打开磁盘失败!', '错误', MB_OK + MB_ICONSTOP);
    exit;  end;
  // 读出引导扇区数据
  if ReadFile(Hdev, buf, 512, ReadCount, nil) then
  begin    for i := Low(buf) to High(buf) do
    begin
      ShowText := ShowText + ByteToHex(buf[i]) + '  ';
    end;
  end;
  tttt :=4;  //MessageBox(GetDesktopWindow, PChar(ShowText), '引导扇区', MB_OK);
  temp := $89; //EB  p := AllocMem(1);
  p[0]:='9';
  try
   FileSeek(Hdev,0,0);
   tebl := WriteFile(Hdev,p[0],tttt,jjjj,nil);
  finally
  end;  CloseHandle(Hdev);end;读取(u盘)磁盘扇区能读取出来,请问下为什么写入返回Flase,请帮帮手,谢谢。