如何在Delphi TMS Web Core网站中获取用户屏幕分辨率?
纯Delphi实现TMS Web Core获取屏幕分辨率
在TMS Web Core中,你可以通过纯Delphi代码获取屏幕分辨率,无需混合JavaScript。核心是利用Web.JS单元对浏览器原生API的封装,直接访问对应对象属性即可。
实现代码
uses Web.JS; function GetScreenResolution: String; begin Result := IntToStr(TJSWindow(window).screen.width) + 'x' + IntToStr(TJSWindow(window).screen.height); end;
或者使用更清晰的类型声明写法:
uses Web.JS; function GetScreenResolution: String; var ScreenObj: TJSScreen; begin ScreenObj := TJSScreen(TJSWindow(window).screen); Result := ScreenObj.width.ToString + 'x' + ScreenObj.height.ToString; end;
原理说明
Web.JS单元将浏览器的原生JavaScript对象(如window.screen)封装成了Delphi可直接调用的类型:
TJSWindow(window)获取当前浏览器窗口的Delphi封装对象- 通过其
screen属性得到TJSScreen类型对象,该对象对应浏览器的screen对象 - 直接读取
width和height属性,就能拿到屏幕的分辨率数值,再拼接成字符串即可
这种方式完全使用Delphi语法实现,避免了嵌入JavaScript代码的混合写法。
内容的提问来源于stack exchange,提问作者Shaun Roselt
相关产品推荐
相关产品推荐

