我正在编写一个应用程序,用户使用我的程序登录到不同的PLC。所有PLC都使用相同的程序登录。许多人远程进入服务器以访问他们所需的内容。该应用程序运行正常,我可以使用Environment.UserName
跟踪登录的用户。
现在发生的事情是允许用户在某些情况下多次登录并仍然使用我的应用程序。这导致了我的跟踪问题,因为如果他们在一个会话中注销PLC,则应用程序认为他们已经注销了两个会话。
我现在需要的是我想要的准确性是当你拉起时可以看到的用户ID"任务管理器"并查看"用户"标签
我调查了WindowsIdentity.GetCurrent().
和Environment.
我不知道我是否错过了它,忽略了它,用谷歌搜索,但我不知道我的方式可以通过VB.NET检索这个号码。
如果您想知道为什么我没有使用像PID那样的东西来跟踪程序,那是因为我做不到。运行PLC的程序的过程在会话的后台运行,这意味着我无法访问PID或该过程的任何内容。
由于
答案 0 :(得分:1)
终于有时间做一些挖掘。
Process.GetCurrentProcess().SessionId
这就是诀窍。不知道为什么我这么努力找到这个,但我想我会用答案更新这个!
干杯!