有没有一种方法可以获取系统信息,比如处理器/内存等(最好跨平台,在浏览器中实现)?
我想在网站中实现这个功能,所以需要使用Flash或Java小程序。
有没有一种方法可以获取系统信息,比如处理器/内存等(最好跨平台,在浏览器中实现)?
我想在网站中实现这个功能,所以需要使用Flash或Java小程序。
试用这个小程序。
import com.sun.servicetag.SystemEnvironment;
import java.lang.management.ManagementFactory;
public class Config extends java.applet.Applet{
public void paint(java.awt.Graphics g){
g.drawString("Hi.. This is Venkatesh..",50,10);
SystemEnvironment se = SystemEnvironment.getSystemEnvironment();
g.drawString("CpuManufacturer:"+se.getCpuManufacturer(),50,40);
g.drawString("HostID:"+se.getHostId(),50,60);
g.drawString("Host Name:"+se.getHostname(),50,80);
g.drawString("OS Architecture:"+se.getOsArchitecture(),50,100);
g.drawString("OS Name:"+se.getOsName(),50,120);
g.drawString("OS Verstion:"+se.getOsVersion(),50,140);
g.drawString("Serial no:"+se.getSerialNumber(),50,160);
g.drawString("System model:"+se.getSystemModel(),50,180);
g.drawString("System Manufacturer:"+se.getSystemManufacturer(),50,200);
com.sun.management.OperatingSystemMXBean mxbean = (com.sun.management.OperatingSystemMXBean)ManagementFactory.getOperatingSystemMXBean();
g.drawString("Available Processors:"+mxbean.getAvailableProcessors(),50,220);
g.drawString("TotalRAM:"+mxbean.getTotalSwapSpaceSize()/(1024*1024*1024)+""+"GB",50,240);
g.drawString("RAM SIZE :" + (mxbean.getTotalPhysicalMemorySize()/(1024*1024*1024))+ " GB ",50,260);
}
}
<Applet Code="HelloWorld.class" width="150" height="150">
</Applet>
你好,
我认为Java相对于Flash来说更为严格,就从客户端获取信息而言。
通过Capabilities类,Flash会提供一些信息。相比Java,它的安全性更为宽松,因此我认为这是您最好的选择。
package {
import flash.display.Sprite;
import flash.system.Capabilities;
public class CapabilitiesExample extends Sprite {
public function CapabilitiesExample() {
showCapabilities();
}
private function showCapabilities():void {
trace("avHardwareDisable: " + Capabilities.avHardwareDisable);
trace("hasAccessibility: " + Capabilities.hasAccessibility);
trace("hasAudio: " + Capabilities.hasAudio);
trace("hasAudioEncoder: " + Capabilities.hasAudioEncoder);
trace("hasEmbeddedVideo: " + Capabilities.hasEmbeddedVideo);
trace("hasMP3: " + Capabilities.hasMP3);
trace("hasPrinting: " + Capabilities.hasPrinting);
trace("hasScreenBroadcast: " + Capabilities.hasScreenBroadcast);
trace("hasScreenPlayback: " + Capabilities.hasScreenPlayback);
trace("hasStreamingAudio: " + Capabilities.hasStreamingAudio);
trace("hasVideoEncoder: " + Capabilities.hasVideoEncoder);
trace("isDebugger: " + Capabilities.isDebugger);
trace("language: " + Capabilities.language);
trace("localFileReadDisable: " + Capabilities.localFileReadDisable);
trace("manufacturer: " + Capabilities.manufacturer);
trace("os: " + Capabilities.os);
trace("pixelAspectRatio: " + Capabilities.pixelAspectRatio);
trace("playerType: " + Capabilities.playerType);
trace("screenColor: " + Capabilities.screenColor);
trace("screenDPI: " + Capabilities.screenDPI);
trace("screenResolutionX: " + Capabilities.screenResolutionX);
trace("screenResolutionY: " + Capabilities.screenResolutionY);
trace("serverString: " + Capabilities.serverString);
trace("version: " + Capabilities.version);
}
}
}
示例来自: http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/
为了检测速度,您需要进行基准测试。
提示:通过监视javascript、flash或java中的渲染/计算时间,您可以根据真实的性能动态地改变应用程序的行为,而不是在启动应用程序之前运行基准测试(我看到其他人这样做)。例如: 线程1:监控并更改数据(例如旋转立方体中的旋转角度)。 线程2:执行繁重的计算和渲染。
(在Java中很容易使用线程实现,但在Flash中,您需要分块处理并让繁重的代码与监视器检查如何进行)。
提示2:有很多公共基准测试,因此您可以通过运行基准测试并与基准测试结果数据库进行比较,缩小人们正在运行的CPU类型。
希望这能帮助!
干杯