Может ли HTML 5 действительно сделать Win 32call? - PullRequest
2 голосов
/ 11 ноября 2010

В этом уроке http://www.codeproject.com/KB/IP/ThinVnc.aspx написано:

ThinVNC не является традиционным VNC, так как он не реализует AT & T RFB протокол. Вместо этого он построен на вершине современных веб-стандартов: AJAX, JSON и HTML5.

Но, глядя на код, мне кажется, что Delphi мне кажется, поэтому кто-то может объяснить, что на самом деле означает приведенное выше предложение: действительно ли HTML 5 способен вызывать ОС?

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;

Ответы [ 2 ]

6 голосов
/ 11 ноября 2010

Нет, HTML5 не может.То, на что вы обращаете внимание, это, действительно, Delphi.

Эта статья, на мой взгляд, написана довольно плохо и не дает понять, что вы смотрите на код "VNC Server", а не на клиентское приложение.(это будет часть HTML5 / JS).

4 голосов
/ 11 ноября 2010

Абсолютно нет, HTML5 отображается браузером, и у него нет возможности подключиться к ядрам операционной системы.

И твой код действительно Delphi. После прочтения кода, приведенного выше, это делает захват экрана. Я предполагаю, что вам придется прочитать другой исходный код, чтобы увидеть, куда HTML 5 вписывается во все это.

Редактировать Вы ознакомились с функцией захвата экрана ThinVNC (удаленный рабочий стол HTML5). полный блог, иллюстрирующий это, можно найти здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...