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

时间: 2024-08-24 11:47:15

VB.NET WinForm获取运行程序用户名的相关文章

c# winform 获取当前程序运行根目录,winform 打开程序运行的文件夹

// 获取程序的基目录. System.AppDomain.CurrentDomain.BaseDirectory // 获取模块的完整路径. System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName // 获取和设置当前目录(该进程从中启动的目录)的完全限定目录. System.Environment.CurrentDirectory // 获取应用程序的当前工作目录. System.IO.Directory.GetC

Winform获取应用程序的当前路径的方法集合(转)

Winform获取应用程序的当前路径的方法集合,具体如下,值得收藏 //获取当前进程的完整路径,包含文件名(进程名). string str = this.GetType().Assembly.Location; result: X:\xxx\xxx\xxx.exe (.exe文件所在的目录+.exe文件名) //获取新的Process 组件并将其与当前活动的进程关联的主模块的完整路径,包含文件名(进程名). string str = System.Diagnostics.Process.Get

C#获取运行程序的进程ID

[DllImport("User32.dll", CharSet = CharSet.Auto)] public static extern int GetWindowThreadProcessId(IntPtr hwnd, out int ID); [DllImport("user32.dll", EntryPoint = "FindWindow")] private extern static IntPtr FindWindow(string

C#获取当前程序运行目录大全

Winform获取应用程序的当前路径的方法集合,具体如下,值得收藏 //获取当前进程的完整路径,包含文件名(进程名). string str = this.GetType().Assembly.Location; result: X:\xxx\xxx\xxx.exe (.exe文件所在的目录+.exe文件名) //获取新的Process 组件并将其与当前活动的进程关联的主模块的完整路径,包含文件名(进程名). string str = System.Diagnostics.Process.Get

C# WinForm获取当前路径汇总

Winform获取应用程序的当前路径的方法集合,具体如下,值得收藏//获取当前进程的完整路径,包含文件名(进程名).string str = this.GetType().Assembly.Location; result: X:\xxx\xxx\xxx.exe (.exe文件所在的目录+.exe文件名)//获取新的Process 组件并将其与当前活动的进程关联的主模块的完整路径,包含文件名(进程名).string str = System.Diagnostics.Process.GetCurr

(转)C# WinForm获取当前路径汇总

Winform获取应用程序的当前路径的方法集合,具体如下,值得收藏本文来源 :http://www.cnblogs.com/greatverve/archive/2011/12/15/winform-path.html //获取当前进程的完整路径,包含文件名(进程名).string str = this.GetType().Assembly.Location;result: X:\xxx\xxx\xxx.exe (.exe文件所在的目录+.exe文件名) //获取新的Process 组件并将其与

收集:C# WinForm获取当前路径汇总

Winform获取应用程序的当前路径的方法集合,具体如下,值得收藏 //获取当前进程的完整路径,包含文件名(进程名). string str = this.GetType().Assembly.Location; result: X:\xxx\xxx\xxx.exe (.exe文件所在的目录+.exe文件名) //获取新的Process 组件并将其与当前活动的进程关联的主模块的完整路径,包含文件名(进程名). string str = System.Diagnostics.Process.Get

c#获取当前运行程序所在的目录

C#获取项目程序及运行路径的方 1.asp.net webform用“Request.PhysicalApplicationPath获取站点所在虚拟目录的物理路径,最后包含“\”: 2.c# winform用 A:“Application.StartupPath”:获取当前应用程序所在目录的路径,最后不包含“\”: B:“Application.ExecutablePath ”:获取当前应用程序文件的路径,包含文件的名称: C:“AppDomain.CurrentDomain.BaseDirec

针对 Linux 环境下 gdb 动态调试获取的局部变量地址与直接运行程序时不一致问题的解决方案

基础的缓冲区溢出实践通常需要确定运行状态下程序中的某些局部变量的地址,如需要确定输入缓冲区的起始地址从而获得注入缓冲区中的机器指令的起始地址等.在 Linux 环境下,可通过 gdb 对程序进行动态调试,从而获得程序运行状态下的信息( 关闭 ALSR 机制 ),基础的 gdb 操作可参见笔者的文章Linux下编辑.编译.调试命令总结--gcc和gdb描述.使用 gdb 可以方便的获取程序动态运行状态下的信息,但通过 gdb 动态调试获取的诸如缓冲区的起始地址等信息可能与程序实际运行时的信息并不相