2011-08-31 4 views
8

Windows에서 Matlab 세션이 상승 된 권한 (즉, 사용자가 "관리자 권한으로 실행"으로 시작한 권한)으로 실행 중인지 검색하고 싶습니다. 이상적으로 XP와 Windows 7에서이 솔루션을 사용할 수 있지만 필요하다면 두 가지 솔루션을 제공하게되어 기쁩니다.Windows에서 Matlab이 높은 권한으로 실행되고 있는지 확인할 수 있습니까?

This 대답은 내가 필요로하는 정보를 Matlab의 .NET 외부 인터페이스 (적어도 Vista 이상에서는)를 통해 얻을 수 있다고 제안합니다. 그러나 더 많은 "기본"Matlab 솔루션이 있는지 궁금합니다. .

+0

순수 자바 코드로 질문에 대답 할 수 있습니까? 그럼 거기에 더 많은 "기본"솔루션이있을 수 있습니다 (나는 당신이 어떤 외부 라이브러리를 설치하지 않아도 ....) 가정합니다 – John

답변

7

"Matlab .NET Bridge"는 .NET에서 Matlab을 호출하는 다른 방법입니다. Matlab의 .NET 클래스 호출은 .NET 외부 인터페이스 지원을 사용하여 직접 수행 할 수 있습니다.

function out = isWindowsAdmin() 
%ISWINDOWSADMIN True if this user is in admin role. 
wi = System.Security.Principal.WindowsIdentity.GetCurrent(); 
wp = System.Security.Principal.WindowsPrincipal(wi); 
out = wp.IsInRole(System.Security.Principal.WindowsBuiltInRole.Administrator); 

.NET이 설치된 모든 Windows 버전에서 작동합니다. 보다 "네이티브 (native)"방법은 아마도 MEX를 작성하여 더 많은 작업이 될 win32 API 함수를 호출해야 할 것입니다. 내 XP 컴퓨터에서 작동합니다.

+0

우수. 고맙습니다! –

+0

질문에서 "브리지"대 "외부 인터페이스"혼란을 수정했습니다. –

관련 문제