【发布时间】:2010-09-22 04:33:10
【问题描述】:
我想知道是否有一种简单的方法可以使用 WMI 来获取带有域的当前 Windows 用户名。 Windows API 调用只会为您获取简短的用户名,因此您最终会再次调用域名。我有一些代码,但出现自动化错误。 有任何想法吗?我认为我走在正确的道路上,但我对 WMI 有点陌生。
函数 GetFullName() 作为字符串 将计算机调暗为字符串 电脑=“。” 暗淡 objWMIService,colProcessList 作为对象 设置 objWMIService = GetObject("winmgmts:\\" & computer & "\root\cimv2") 设置 colProcessList = objWMIService.ExecQuery _ ("SELECT TOP 1 * FROM Win32_Process WHERE Name = 'EXCEL.EXE'") Dim uname, udomain As String 将 objProcess 调暗为对象 对于 colProcessList 中的每个 objProcess objProcess.GetOwner uname, udomain 下一个 GetFullName = UCase(udomain) & "\" & UCase(uname) 结束功能更新:在接受的答案中查看 cmets
【问题讨论】:
标签: excel automation wmi vba