VB.NET WinForm获取运行程序用户名

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VB.NET WinForm获取运行程序用户名相关的知识,希望对你有一定的参考价值。

一个程序也许会被多个用户运行,如下:
技术分享


那在VB.NET的WinForm环境下,怎样获取User Name呢?
可从下面的方法:
技术分享


代码:

技术分享
Public Shared Function GetProcessOwner(ByVal ProcessName As String) As String
            Dim po = String.Empty
            Dim selectQuery As SelectQuery = New SelectQuery("Win32_Process")
            Dim searcher As ManagementObjectSearcher = New ManagementObjectSearcher(selectQuery)
            Dim moc As ManagementObjectCollection = searcher.Get()
            For Each proc As ManagementObject In moc
                Dim s(1) As String
                proc.InvokeMethod("GetOwner", CType(s, Object()))
                If proc("Name").ToString() = ProcessName & ".exe" Then
                    po = s(1) & "\\" & s(0)
                End If
            Next
            Return po
        End Function
View Code

 

以上是关于VB.NET WinForm获取运行程序用户名的主要内容,如果未能解决你的问题,请参考以下文章

VB.NET程序界面假死如何解决

编译为目标 4.6.1 框架的 VB.NET 应用程序无法在只有 4.8 .Net 框架的计算机上成功运行

VB.NET Winform的一些功能实现

如何在未安装 office 的情况下从 winform vb.net 2008 导出到 excel?

将 VB.NET 2.0 Winform 迁移到 3.5 WPF

请问VB.NET 怎么获取当前所有已登录到windows系统的用户名?