In this tutorial http://www.codeproject.com/KB/IP/ThinVnc.aspx it says:
ThinVNC is not a traditional VNC, as
it does not implement the AT&T RFB
protocol. Instead, it is built on top
of today’s web standards: AJAX, JSON
and HTML5.
But when looking at the code, it seems like Delphi to me so can someone explains what the sentence above does really mean: is HTML 5 really capable of making OS call ?
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;
Absolutely not, HTML5 is rendered by a browser and it has no way of connecting to any operating system kernels.
And your code is indeed Delphi. From reading the code posted above, this does screen capturing. I guess you’ll have to read other source code to see where HTML 5 fits in all of this.
Edit You’ve looked at the screen capturing feature of ThinVNC (the HTML5 Remote Desktop). The full blog illustrating this can be found here.