Tôi cần tên của người dùng đã đăng nhập hiện tại trong ứng dụng Air/Flex của tôi. Ứng dụng này sẽ chỉ được triển khai trên các máy Windows. Tôi nghĩ rằng tôi có thể đạt được điều này bằng cách regexing thư mục người dùng, nhưng đang mở cho những cách khác.Nhận người dùng hệ điều hành đã đăng nhập hiện tại trong Adobe Air
Trả lời
Đây là một giải pháp hoạt động trong XP/Vista, nhưng chắc chắn có thể mở rộng sang OSX, linux, tôi vẫn muốn được quan tâm theo cách khác.
public static function GetCurrentOSUser():String{
// XP & Vista only.
var userDirectory:String = File.userDirectory.resolvePath("").nativePath;
var startIndex:Number = userDirectory.lastIndexOf("\\") + 1
var stopIndex:Number = userDirectory.length;
var user = userDirectory.substring(startIndex, stopIndex);
return user;
}
Có một vài buổi làm vệ sinh nhỏ, bạn có thể make ...
package
{
import flash.filesystem.File;
public class UserUtil
{
public static function get currentOSUser():String
{
var userDir:String = File.userDirectory.nativePath;
var userName:String = userDir.substr(userDir.lastIndexOf(File.separator) + 1);
return userName;
}
}
}
Như Kevin đã đề xuất, hãy sử dụng File.separator
để làm cho thư mục chia tách nền tảng (chỉ được thử nghiệm trên Windows và Mac OS X).
Bạn không cần sử dụng resolvePath("")
trừ khi bạn đang tìm kiếm một đứa trẻ.
Ngoài ra, làm cho hàm trở thành đúng cho phép ràng buộc mà không cần thêm bất kỳ công việc nào.
Trong ví dụ trên tôi đặt nó vào một lớp UserUtil
, bây giờ tôi có thể liên kết với UserUtil.currentOSUser
, ví dụ:
<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Label text="{UserUtil.currentOSUser}"/>
</mx:WindowedApplication>
Giải pháp này không hoạt động khi người dùng có tên đăng nhập và tên thư mục chính khác nhau, điều này phổ biến khi hệ điều hành được cài đặt lại hoặc di chuyển. Có ai biết giải pháp khác không. Hãy giúp tôi. –
Cập nhật cách sau: có thực sự là một xây dựng trong chức năng để có được những người dùng hiện hành. Tôi nghĩ rằng nó trong nativeApplication.
Tôi cũng cần có người dùng hiện tại nhưng không thể tìm thấy chức năng đó ... bạn có thể chia sẻ giải pháp không? –
Không có gì được đề cập trong http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/desktop/NativeApplication.html – merlinc
Đây không phải là cách tiếp cận đẹp nhất, nhưng nếu bạn biết ứng dụng AIR của bạn sẽ chỉ được chạy trong một môi trường Windows, nó hoạt động tốt đủ:
public var username:String;
public function getCurrentOSUser():void
{
var nativeProcessStartupInfo:NativeProcessStartupInfo = new NativeProcessStartupInfo();
var file:File = new File("C:/WINDOWS/system32/whoami.exe");
nativeProcessStartupInfo.executable = file;
process = new NativeProcess();
process.addEventListener(ProgressEvent.STANDARD_OUTPUT_DATA, onOutputData);
process.start(nativeProcessStartupInfo);
}
public function onOutputData(event:ProgressEvent):void
{
var output:String = process.standardOutput.readUTFBytes(process.standardOutput.bytesAvailable);
this.username = output.split('\\')[1];
trace("Got username: ", this.username);
}
- 1. Tải hệ điều hành hiện tại Trong Adobe Air
- 2. Nhận id người dùng đã đăng nhập
- 3. asp.net MVC nhận hiện tại người dùng đăng nhập id
- 4. Trang khác cho người dùng đã đăng nhập và người dùng chưa đăng nhập tại gốc
- 5. Adobe AIR và các hệ thống tệp hệ điều hành khác nhau
- 6. MVC3 + Cách lấy tên người dùng hiện tại đã đăng nhập của người dùng
- 7. Cách nhận ID người dùng hiện đã đăng nhập trong pyrocms?
- 8. Theo dõi người dùng đã đăng nhập
- 9. Nhận tên người dùng/mật khẩu của người dùng đã đăng nhập trong Windows
- 10. Nhận facebook Việc đăng nhập người dùng
- 11. Đã đăng ký tại/appname /: Người dùng đã đăng ký
- 12. Adobe AIR để thực hiện chương trình
- 13. Danh sách người dùng đã đăng nhập trong Wordpress?
- 14. Cách nhận id người dùng hiện đang đăng nhập của người dùng ở Django?
- 15. In ấn trong Adobe AIR - Độc lập PDF thế hệ
- 16. Adobe Air là gì?
- 17. Cách nhận email của người dùng đã đăng nhập trong PowerShell
- 18. Kiểm tra thông tin đăng nhập từ xa và kiểm tra người dùng đã đăng nhập
- 19. JQuery Mobile - Đăng nhập người dùng Thực hành tốt nhất
- 20. Tạo và đọc cookie để xác nhận người dùng đã đăng nhập trong C# MVC3
- 21. Silverlight vs Adobe Air
- 22. Adobe Air và .NET
- 23. Chuyển hướng sau khi người dùng đã đăng nhập
- 24. C# .Net Ứng dụng Windows - Nhận tên người dùng đã đăng nhập trong My NT
- 25. Cách nhận tên người dùng đã đăng nhập trong Access vba?
- 26. Lưu trữ chi tiết người dùng đã đăng nhập
- 27. Cách nhận người dùng hiện tại và cách sử dụng Lớp người dùng trong MVC5?
- 28. Nhận tên người dùng Windows đã đăng nhập được kết hợp với máy tính để bàn
- 29. Cách nhận vai trò của người dùng hiện đang đăng nhập trong Drupal 7?
- 30. Nhận tên người dùng hiện tại
thể muốn thay thế ' "\\"' với ' File.separator' để làm cho nó hoạt động trên Linux. – Kevin