windows下air as3获取mac地址 cpu序列号

公司需要项目绑定电脑。固需要获取电脑的网卡和CPU序列号

项目必须 AIR for desktop

以下代码在flash CS6 编译通过

其他见代码

package {
	
	import flash.display.MovieClip;
	import flash.net.NetworkInfo;
	import flash.net.NetworkInterface;
    import flash.net.InterfaceAddress;
	
	
	import flash.desktop.NativeApplication;
    import flash.desktop.NativeProcess;
    import flash.desktop.NativeProcessStartupInfo;
    import flash.display.NativeWindow;
    import flash.display.NativeWindowInitOptions;
    import flash.display.Sprite;
    import flash.events.IOErrorEvent;
    import flash.events.ProgressEvent;
    import flash.filesystem.File;
    import flash.filesystem.FileMode;
    import flash.filesystem.FileStream;
    import flash.filesystem.StorageVolume;
    import flash.filesystem.StorageVolumeInfo;
    import flash.utils.ByteArray;
    import flash.utils.IDataInput;
    import flash.utils.IDataOutput;
	
	public class index extends MovieClip {
		
		
		public function index() {
    		var netWorkVec:Vector.<NetworkInterface > = NetworkInfo.networkInfo.findInterfaces();
    		trace("--------------------------")
    		for (var i:* in netWorkVec) {
    			trace("网络连接名称:"+netWorkVec[i].displayName);
    			trace("MAC网卡地址:"+netWorkVec[i].hardwareAddress);
    			var addressVec:Vector.<InterfaceAddress> = new Vector.<InterfaceAddress>();
    			addressVec = netWorkVec[0].addresses;
    			for (var j:* in addressVec) {
    				trace("网络IP地址:"+addressVec[j].address);
    			}
   				trace("--------------------------")
			}
		
			//-----------获取cpu号码
   			var args:Vector.<String>=new Vector.<String>();
            args.push('/c');
			args.push('wmic CPU get ProcessorID')
				
			var nativstart:NativeProcessStartupInfo=new NativeProcessStartupInfo();
         	nativstart.executable=new File("C:/WINDOWS/system32/cmd.exe");
            nativstart.arguments=args;

            var nativeProcess=new NativeProcess();
            nativeProcess.start(nativstart);

            nativeProcess.addEventListener(ProgressEvent.STANDARD_OUTPUT_DATA, onStandardOutPut);
            nativeProcess.addEventListener(ProgressEvent.STANDARD_ERROR_DATA, onStandardError);
            nativeProcess.addEventListener(IOErrorEvent.STANDARD_ERROR_IO_ERROR, onStandardErrorIo);
            nativeProcess.addEventListener(IOErrorEvent.STANDARD_OUTPUT_IO_ERROR, onStandardErrorIo);		
	}
     private function onStandardOutPut(e:ProgressEvent):void {
            var by:IDataInput=IDataInput(e.target.standardOutput);
            var outStr:String=by.readMultiByte(by.bytesAvailable, "ansl");
			var exp:RegExp = /[\n\t]([A-Z\d]+)[ \f\n\r\t\v]/g;
			var result:Object = exp.exec(outStr)
			trace("CPU序列号:"+result[1]);
     }

     private function onStandardError(e:ProgressEvent):void {
            var by:IDataInput=IDataInput(e.target.standardOutput);
            trace(by.readMultiByte(by.bytesAvailable, "ansl"), "---");
     }

     private function onStandardErrorIo(e:IOErrorEvent):void {
            trace(e.target, ">>>")
      }
}
}

猜你喜欢

转载自blog.csdn.net/wq57885/article/details/80733696
今日推荐