公司需要项目绑定电脑。固需要获取电脑的网卡和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, ">>>") } } }