Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.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# 在.NET中模拟时,如何获取应用程序的名称_C#_.net_Vb.net - Fatal编程技术网

C# 在.NET中模拟时,如何获取应用程序的名称

C# 在.NET中模拟时,如何获取应用程序的名称,c#,.net,vb.net,C#,.net,Vb.net,在.NET中模拟时,如何获取应用程序的名称。我不喜欢你喜欢的.NET语言是VB.NET还是C#。我基本上在做(请原谅这里的VB.NET): 没有使用“新模仿者(…)”一切都很好。当我使用“模拟者”时,我得到: 当我使用模拟时,如何找到我的application.exe文件的名称?您模拟的人似乎无权访问正在运行的文件。验证它不在模拟用户不可用的某个文件夹中。例如,在服务器上运行的普通用户没有访问权限。尝试将用户设置为计算机上的本地管理员,或仅授予他对文件夹的访问权限 更简单的方法是: Proces

在.NET中模拟时,如何获取应用程序的名称。我不喜欢你喜欢的.NET语言是VB.NET还是C#。我基本上在做(请原谅这里的VB.NET):

没有使用“新模仿者(…)”一切都很好。当我使用“模拟者”时,我得到:


当我使用模拟时,如何找到我的application.exe文件的名称?

您模拟的人似乎无权访问正在运行的文件。验证它不在模拟用户不可用的某个文件夹中。例如,在服务器上运行的普通用户没有访问权限。尝试将用户设置为计算机上的本地管理员,或仅授予他对文件夹的访问权限

更简单的方法是:

Process.GetCurrentProcess().ProcessName
我认为你不应该使用
FileInfo
,它速度慢而且需要权限。
您可以改为使用System.IO.Path静态类

我对Impersonator一无所知,但这适用于我的大多数应用程序(甚至WPF应用程序)


嗯,好主意。他可能不知道-他能想出其他方法来运行exe吗?太好了!这正是我要找的!有趣的想法,但我相信我会得到相同的“访问被拒绝”,因为冒名顶替者没有@Oskar指出的对文件的访问权。谢谢你的建议@丹尼斯,我不认为这会产生那个错误。
Path.GetFileNameWithoutExtension
System.Windows.Forms.Application.ExecutablePath
都不需要该目录的权限
Access is denied
   at System.Diagnostics.ProcessManager.OpenProcess(Int32 processId, Int32 access, Boolean throwIfExited)
   at System.Diagnostics.NtProcessManager.GetModuleInfos(Int32 processId, Boolean firstModuleOnly)
   at System.Diagnostics.NtProcessManager.GetFirstModuleInfo(Int32 processId)
   at System.Diagnostics.Process.get_MainModule()
Process.GetCurrentProcess().ProcessName
    string name = Path.GetFileNameWithoutExtension(
                    System.Windows.Forms.Application.ExecutablePath);