Ada 95中有一個函數返回一個字符串,其中包含Windows應用程序中登錄的用戶名? 謝謝。閱讀Windows登錄用戶名與Ada 95
0
A
回答
2
使用從@KeithThompson評論,加上@SimonWright USERNAME建議的想法,一個辦法做到這一點是使用代碼:
function GetUsername return String is
function GetEnv (Variable : String) return Interfaces.C.Strings.chars_ptr;
pragma Import (C, GetEnv, "getenv");
Command : constant String := "USERNAME";
Answer_Ptr : constant Interfaces.C.Strings.chars_ptr := GetEnv (Command);
Answer : constant String := Interfaces.C.Strings.Value (Answer_Ptr);
begin
return Answer;
end GetUsername;
不是純粹的Ada 95,但它非常適合(我沒有使用gnat05開關) 。
3
一般的答案是使用Ada環境支持的任何機制來調用本機Win32 API函數,並調用GetUserName
函數。
2
GNAT專用包Ada.Command_Line.Environment
可能是一個可用的替代方案。
2
如果你被允許使用2005年的Ada,你可以使用包Ada.Environment_Variables得到的USERNAME
值(我認爲這是爲Windows正確的環境變量?這是USER
達爾文...)
+1
或者您可以使用'pragma Import(C,getenv);' –
+0
依賴環境變量的問題在於僞造很重要。 (所以'GetUserName',但不那麼平凡。) –
相關問題
- 1. 如何閱讀Windows登錄用戶名與PHP/IIS
- 2. C或C++(或Ada 95)中的Windows LDAP組用戶檢查
- 3. Windows服務與用戶帳戶登錄
- 4. SAP閱讀SLG1登錄客戶程序
- 5. 閱讀網頁與登錄(clojure)
- 6. 獲取Windows登錄用戶名ASP .net
- 7. 閱讀文件中ADA
- 8. facebook登錄API:TypeError in all.js:95
- 9. Mac Standard/Non-Admin用戶閱讀登錄記錄?
- 10. 使用登錄用戶的用戶名在windows登錄中獲取郵件
- 11. 如何與用戶名登錄在laravel
- 12. 設計與用戶名登錄空間
- 13. 用戶名和登錄與AsyncTask
- 14. ASP和Windows用戶登錄
- 15. Windows Phone用戶登錄
- 16. 如何閱讀當前使用Angularjs登錄的用戶
- 17. 磅(#)登錄目錄名稱:在Java中如何閱讀
- 18. Windows服務:用戶登錄時獲取用戶名
- 19. 如何獲取當前Windows登錄用戶的用戶名?
- 20. 在Windows中獲取登錄用戶的用戶名/密碼
- 21. 如何從ASP.Net找到用戶的Windows登錄用戶名?
- 22. 使用Android帳戶管理器登錄谷歌閱讀器
- 23. 如何閱讀特定用戶的推文,無需登錄
- 24. CakePHP和Facebook插件:閱讀用戶登錄
- 25. asp.net的問題與登錄:登錄失敗,用戶NT AUTHORITY \匿名登錄
- 26. ada 95 Put(Item:in String)vs Put(String)
- 27. 顯示歡迎使用php登錄用戶名登錄用戶
- 28. 獲取登錄用戶名
- 29. 如何閱讀Ada中的圖像?
語言(如C++)在其「用戶」或「登錄」標準中沒有概念。因此,您可能需要稍微改寫一下這個問題,以避免很多迂腐的「這不是基於Ada功能」的答案。也許是這樣的:「我如何從我的Ada程序中獲取已登錄的Windows用戶的名稱?我正在使用* XYZ *編譯器。」 –