Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在Windows中识别工作站/进程?_C#_Windows_Pid - Fatal编程技术网

C# 如何在Windows中识别工作站/进程?

C# 如何在Windows中识别工作站/进程?,c#,windows,pid,C#,Windows,Pid,我的桌面应用程序将在网络中的多个Windows工作站上同时运行。应用程序需要为自己指定一个ID,该ID在网络中其他工作站上运行的应用程序的其他实例中唯一标识自己 应该使用什么来标识应用程序的每个实例?我应该使用机器名和进程ID的组合吗?如果应用程序以非管理权限运行,这些值是否可以从应用程序访问?权限可以限制,以便.net根据计算机上的安全设置无法访问计算机名。对于.net,权限可以限制,以便.net根据计算机上的安全设置无法访问计算机名对于.net,如果您想确保他们具有唯一的ID,请使用GUID

我的桌面应用程序将在网络中的多个Windows工作站上同时运行。应用程序需要为自己指定一个ID,该ID在网络中其他工作站上运行的应用程序的其他实例中唯一标识自己


应该使用什么来标识应用程序的每个实例?我应该使用机器名和进程ID的组合吗?如果应用程序以非管理权限运行,这些值是否可以从应用程序访问?

权限可以限制,以便.net根据计算机上的安全设置无法访问计算机名。对于.net,权限可以限制,以便.net根据计算机上的安全设置无法访问计算机名对于.net

,如果您想确保他们具有唯一的ID,请使用GUID,该GUID可以在应用程序启动时生成,并向管理它的人报告


您不需要管理员权限,而且它消除了计算机名称冲突的可能性,这取决于网络的设置方式。

如果您想确保它们具有唯一的ID,请使用GUID,当应用程序启动时可以生成GUID,并向管理它的人报告


您不需要管理员权限,而且它消除了计算机名称冲突的可能性,具体取决于网络的设置方式。

Process.getprocesss(machineName)获取目标计算机的所有进程,但非管理应用程序可以为其用户只读进程,您的第一个问题是如何知道网络上哪些计算机联机。对于另一个问题:是的,计算机名称和进程ID足以在内部网(而不是INTERNET)中唯一标识应用程序。@DaniloVulović:唯一的应用程序是我的一个应用程序-请参阅我对问题的编辑。@Adriano:我只需要该应用程序为数据库表提供一个ID,我可以确保该表在网络和计算机上是唯一的。非管理员权限是否允许获取计算机名和进程ID值?更新了我的评论。如果您在Intranet中,那么是的,它对于每个会话都是唯一的(进程ID在系统范围内是唯一的,并且在不重新启动的情况下无法更改计算机名)获取目标计算机的所有进程,但非管理应用程序可以为其用户只读进程,您的第一个问题是如何知道网络上哪些计算机联机。对于另一个问题:是的,计算机名称和进程ID足以在内部网(而不是INTERNET)中唯一标识应用程序。@DaniloVulović:唯一的应用程序是我的一个应用程序-请参阅我对问题的编辑。@Adriano:我只需要该应用程序为数据库表提供一个ID,我可以确保该表在网络和计算机上是唯一的。非管理员权限是否允许获取计算机名和进程ID值?更新了我的评论。如果您在内部网中,则是的,它对于每个会话都是唯一的(进程ID在系统范围内是唯一的,不重新启动就无法更改计算机名)。当应用程序在受限权限下运行时,获取
环境是否有任何问题。MachineName
值?-1用户名无效,静态字段不会阻止应用程序运行多个实例…CJ7环境。计算机名需要一些权限(环境变量),但应提供这些权限以获得部分信任。当应用程序在受限权限下运行时,获取
环境.MachineName
值是否有任何问题?-1用户名无效,静态字段不会阻止应用程序运行多个实例…CJ7环境。计算机名需要一些权限(环境变量),但应提供这些权限以获得部分信任。