在本教程中,它说:
ThinVNC不是传统的VNC,因为
它不执行AT&T RFB
协议。相反,它是建在上面的
当今的web标准:AJAX、JSON
以及HTML5。
但在我看来,当看代码的时候,它就像是Delphi,所以有人能解释一下上面这句话的真正含义:HTML 5真的能够进行OS调用吗?

TWin = class(TObject)
private
  Wnd : Hwnd;
  Rect : TRect;
  Pid : Cardinal;
public
  constructor Create(AWnd:HWND;ARect:TRect;APid:Cardinal);
end;

function EnumWindowsProc(Wnd: HWnd; const obj:TList<TWin>): Bool; export; stdcall;
var ProcessId : Cardinal;
  R,R1 : TRect;
  Win : TWin;
begin
  Result:=True;
  GetWindowThreadProcessId(Wnd,ProcessId);
  if IsWindowVisible(Wnd) and not IsIconic(wnd)then begin
    GetWindowRect(Wnd,R);
    IntersectRect(R1,R,Screen.DesktopRect);
    if not IsRectEmpty(R1) then begin
      win := TWin.Create(Wnd,R,ProcessId);
      obj.Add(win);
    end;
  end;
end;

procedure GetProcessWindowList(WinList:TList<TWin>);
begin
  WinList.Clear;
  EnumWindows(@EnumWindowsProc, Longint(WinList));
end;

最佳答案

当然不是,HTML5是由浏览器呈现的,它无法连接到任何操作系统内核。
你的代码确实是Delphi。通过阅读上面发布的代码,可以进行屏幕截图。我想你必须阅读其他的源代码,看看HTML5在这一切中的位置。
编辑您已经看到了ThinVNC(HTML5远程桌面)的屏幕捕获功能。说明这一点的完整博客可以找到here

10-04 21:24