1
A
回答
0
這可能會訣竅。
末post在頁面上。
我,在空氣中做了什麼來實現這一目標如下:
public function getHostName():void {
if(NativeProcess.isSupported) {
var OS:String = Capabilities.os.toLocaleLowerCase();
var file:File;
if (OS.indexOf('win') > -1) {
//Executable in windows
file = new File('C:\\Windows\\System32\\hostname.exe');
} else if (OS.indexOf('mac') > -1) {
//Executable in mac
} else if (OS.indexOf('linux')) {
//Executable in linux
}
var nativeProcessStartupInfo:NativeProcessStartupInfo = new NativeProcessStartupInfo();
nativeProcessStartupInfo.executable = file;
var process:NativeProcess = new NativeProcess();
process.addEventListener(NativeProcessExitEvent.EXIT, onExitError);
process.addEventListener(ProgressEvent.STANDARD_OUTPUT_DATA, onOutput);
process.start(nativeProcessStartupInfo);
process.closeInput();
}
}
import utls.StringHelper;
public function onOutput(event:ProgressEvent):void {
var strHelper:StringHelper = new StringHelper();
var output:String = event.target.standardOutput.readUTFBytes(event.target.standardOutput.bytesAvailable);
output = strHelper.trimBack(output, "\n");
output = strHelper.trimBack(output, "\r");
trace('"'+output+'"');
}
,我使用的是從手動包裝:
package utls
{
public class StringHelper
{
public function StringHelper()
{
}
public function replace(str:String, oldSubStr:String, newSubStr:String):String {
return str.split(oldSubStr).join(newSubStr);
}
public function trim(str:String, char:String):String {
return trimBack(trimFront(str, char), char);
}
public function trimFront(str:String, char:String):String {
char = stringToCharacter(char);
if (str.charAt(0) == char) {
str = trimFront(str.substring(1), char);
}
return str;
}
public function trimBack(str:String, char:String):String {
char = stringToCharacter(char);
if (str.charAt(str.length - 1) == char) {
str = trimBack(str.substring(0, str.length - 1), char);
}
return str;
}
public function stringToCharacter(str:String):String {
if (str.length == 1) {
return str;
}
return str.slice(0, 1);
}
}
}
0
import flash.filesystem.File;
var OS:String = Capabilities.os.toLocaleLowerCase();
function currentOSUser():String {
var userDir:String = File.userDirectory.nativePath;
var userName:String = userDir.substr(userDir.lastIndexOf(File.separator) + 1);
return userName;
}
trace('Os : ' + OS);
trace('Os Name: ' + currentOSUser());
+0
我沒有要求操作系統和用戶名。我問主機名。 – 2015-02-02 13:54:12
+0
此代碼僅適用於Adobe Air。但是電腦可能會要求許可。 [SWF] Untitled-1.swf - 解壓後的1172個字節 Os:windows 7 Os名稱:Destek – 2015-02-05 10:07:10
+0
我要求獲取計算機名稱,而不是用戶名。理解? – 2015-02-07 21:38:13
相關問題
- 1. 在Adobe AIR中獲取主機名稱ActionScript3
- 2. 獲取客戶端計算機名稱
- 3. WIX獲取計算機名稱?
- 4. 獲取計算機名
- 5. 獲取本地計算機的DNS名稱,如遠程計算機所示
- 6. 從計算機網絡名稱獲取用戶名
- 7. 在通過WIX安裝期間獲取計算機名稱
- 8. 在C中獲取Lan的計算機名稱#
- 9. 在Windows服務中獲取計算機名稱?
- 10. 在C#中獲取計算機名稱,而不引用Microsoft.VisualBasic.dll中
- 11. 在Azure自動化DSC中獲取計算機名稱
- 12. 如何獲取計算機名稱(在Web應用程序中的主機名)?
- 13. 更改計算機名稱
- 14. 檢索計算機名稱
- 15. 如何使用PHP獲取計算機名稱,計算機的本地IP和計算機的服務器IP
- 16. 從Active Directory中獲取計算機名稱
- 17. Python代碼掃描網絡以獲取計算機名稱
- 18. 使用Javascript獲取計算機名稱/ jquery
- 19. 獲取本地網絡計算機名稱列表
- 20. 如何從IP地址獲取計算機名稱?
- 21. 從活動目錄獲取計算機名稱和OU的
- 22. 獲取我的Mac的計算機名稱
- 23. 獲取客戶端的IP地址和計算機名稱?
- 24. 如何用NodeJs/Electron獲取計算機名稱?
- 25. 從我的網絡位置獲取計算機名稱
- 26. 如何獲取nodejs中的Mac OS計算機名稱
- 27. 通過網絡重新獲取計算機名稱
- 28. 獲取計算機的域名
- 29. 在Adobe Air中獲取文件擴展名的圖標
- 30. 如何獲得本地計算機的計算機名稱和IP地址
謝謝。但我已經完成了這種類型。問題是我不僅要爲Windows創建應用程序,還要爲MAC和Linux創建應用程序。所以,這就是爲什麼我不能遵循這種方法。我不知道這種類型的應用程序(主機名)是否存在於MAC和Linux中。 – 2011-04-03 15:35:53
順便說一下,'file = new File('C:\\ Windows \\ System32 \\ hostname.exe');'是非常幼稚的方式來運行一些東西。 Windows可以安裝在不同的位置。 – alxx 2011-04-03 19:17:41
正是。在Windows 2000中,有文件夾winnt。所以,這將是問題。但是我們可以檢查文件夾是否存在?這可能是有用的,但仍然不是完美的解決方案。 – 2011-04-06 23:53:56