C++에서 프로세스 소유자 (내 프로그램을 실행하는 사용자)의 사용자 이름을 얻으려면 어떻게해야합니까?내 프로그램을 실행하는 사람의 사용자 이름을 어떻게 얻을 수 있습니까?
답변
윈도우
예 :
char user_name[UNLEN+1];
DWORD user_name_size = sizeof(user_name);
if (GetUserName(user_name, &user_name_size))
cout << "Your user name is: " << user_name << endl;
else
/* Handle error */
리눅스
봐 getpwuid에서 :
getpwuid() 함수는 이 uid와 일치하는 항목에 대해 사용자 데이터베이스를 검색해야합니다.
getpwuid() 함수를 포함 할
char *pw_name
구조체 passwd를
struct passwd
에 대한 포인터를 리턴한다.
사용자 ID를 얻으려면 getuid
을 사용하십시오.
이는 운영체제마다 다릅니다. Windows에서는 GetUserName을 사용하십시오. Unix에서는 getuid을 사용하십시오.
문제는 로컬 사용자 이름이 아닌 컴퓨터 이름에 관한 것입니다. –
이것은 로컬 사용자/로그온 사용자가 아닌 시스템 이름입니다. – BobbyShaftoe
원래 질문은 명확하지 않았습니다. 나는 내 대답을 고쳤다. –
C++ 관련 질문이 아닙니다. UNIX 계열 시스템을 사용할 때 환경 변수에서 정보를 찾을 수 있습니다 (100 %가 아님). 이 시스템에서 'id'프로그램을 사용할 수도 있습니다.
일반적으로 가장 빠른 방법은 플랫폼 종속 커널/API 호출을 만드는 것입니다.
cmd.exe 아래의 창에서 USERNAME 환경 변수는 사용자 이름 (사실이 아닌 정보도 포함)을 보유합니다. 정확한지 WINAPI 문서에서 검색하십시오.
입니다. @Notinlist : C++ 관련 질문이 아닙니까? 그는 C++을 사용하고 있습니다. 이것은 C++와 관련된 질문입니다. 어쩌면 당신은 "C++ 관련"이 표준 C++ (예 : #[email protected])만을 의미하는 곳에서 온 것일 수 있습니다.그물에) 여기에 아주 주제로 간주됩니다 : –
미래의 참고, 모든 시스템 (윈도우 포함)에 입력 할 수 있습니다 : 'whoami' 현재 사용자 이름을 얻을 수 있습니다. – chacham15
Windows에서 스레드는 가장 할 수 있으며 프로세스는 수행 할 수 없습니다. 프로세스 소유자를 얻으려면 프로세스 토큰에 TokenUser infoclass를 사용하여 GetTokenInformation을 호출해야합니다. 그러면 SID가 부여되며이 SID는 LookupAccountSid의 사용자 이름으로 변환 할 수 있습니다. 스레드 대 프로세스에 신경 쓰지 않는다면 GetUserName()이 좋습니다.
에 맥 OSX :
getenv("USER");
Linux의 경우 :
getenv("USERNAME");
- 1. 파이썬에서 사용자 이름을 어떻게 얻을 수 있습니까?
- 2. 다른 사람의 웹 브라우저에서 어떻게 스크린 샷을 얻을 수 있습니까?
- 3. WMI : 내 프로그램을 실행하는 사용자 계정의 이름을 얻으려면 어떻게해야합니까?
- 4. 어떻게 Silverlight 2.0에서 현재 사용자 이름을 얻을 수 있습니까
- 5. Java5에서 응용 프로그램을 실행하는 사용자의 전체 이름은 어떻게 얻을 수 있습니까?
- 6. C++ : 내 응용 프로그램을 실행하는 프로세스의 이름을 가져옵니다.
- 7. 아이폰에서 시계 응용 프로그램을 얻을 때 시간대를 얻을 수 있습니까
- 8. 메일을 보낸 사람의 이름을 설정하는 방법은 무엇입니까?
- 9. 런타임시 Windows 서비스의 이름을 어떻게 얻을 수 있습니까?
- 10. 주어진 mysql 쿼리의 열 이름을 어떻게 얻을 수 있습니까?
- 11. Mathematica에서 모듈 내에서 호출하는 함수의 이름을 어떻게 얻을 수 있습니까?
- 12. 아이폰 어떻게 달 번호에서 월 이름을 얻을 수 있습니까?
- 13. 어떻게 DatabaseMetaData 객체에서 SQL 서버 데이터베이스 이름을 얻을 수 있습니까?
- 14. 어떻게 onChangeEvent_sooner_를 얻을 수 있습니까?
- 15. 다른 사람의 iPad에서 iPad 응용 프로그램을 테스트 할 수 있습니까?
- 16. 이미지의 너비와 높이를 어떻게 얻을 수 있습니까?
- 17. 사용자 네트워크 로그인 이름은 어떻게 얻을 수 있습니까?
- 18. 숫자 입력을 방지하는 자바 스크립트 프로그램을 어떻게 얻을 수 있습니까?
- 19. 아이폰 : 나는 응용 프로그램을 실행하는 동안이 오류가있어 내 응용 프로그램 이름을 이름을 변경하는 경우
- 20. 아이폰과 애니메이션으로 어떻게 객관적인 위치에있는 사용자 위치를 얻을 수 있습니까?
- 21. 어떻게 CurrentWindow를 얻을 수 있습니까?
- 22. 어떻게 출력을 얻을 수 있습니까?
- 23. 대의원을 어떻게 얻을 수 있습니까?
- 24. 어떻게 얻을 수 있습니까? UI_USER_INTERFACE_IDIOM
- 25. 파이썬 프로그램을 실행하는 동안 오류가 기록되었는지 어떻게 알 수 있습니까?
- 26. 클래스 이름은 어떻게 얻을 수 있습니까?
- 27. Python에서 스크립트를 동시에 실행하면서 어떻게 사용자 입력을 얻을 수 있습니까?
- 28. 이메일 주소를 기반으로 페이스 북 사용자 이름을 어떻게 얻을 수 있습니까?
- 29. 프로세스가 시작된 원래 사용자 이름을 어떻게 알 수 있습니까?
- 30. 변수의 이름은 어떻게 얻을 수 있습니까?
버퍼 크기를 하드 코드하려면 257 (UNLEN + 1)을 사용하십시오. Windows에서 사용자 이름의 최대 크기는 – Anders