Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/312.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# RegistryPermission的SpeechSynthesizer注册表项_C#_Registry_Speechsynthesizer_Permissionset - Fatal编程技术网

C# RegistryPermission的SpeechSynthesizer注册表项

C# RegistryPermission的SpeechSynthesizer注册表项,c#,registry,speechsynthesizer,permissionset,C#,Registry,Speechsynthesizer,Permissionset,如何找到SpeechSynthesizer正在使用的注册表项。我需要使用RegistryPermission添加它们,以便再次使用SpeechSynthesizer 我在自己的appdomain中拒绝了所有标准访问,并添加了以下访问,因此我认为我只需要RegistryPermission,但我不知道如何获得它们 var grants = new PermissionSet(PermissionState.None); grants.AddPermission(new SecurityPermis

如何找到SpeechSynthesizer正在使用的注册表项。我需要使用RegistryPermission添加它们,以便再次使用SpeechSynthesizer

我在自己的appdomain中拒绝了所有标准访问,并添加了以下访问,因此我认为我只需要RegistryPermission,但我不知道如何获得它们

var grants = new PermissionSet(PermissionState.None);
grants.AddPermission(new SecurityPermission(SecurityPermissionFlag.Execution));
grants.AddPermission(new SecurityPermission(SecurityPermissionFlag.SerializationFormatter));
grants.AddPermission(new SecurityPermission(SecurityPermissionFlag.Infrastructure));        
grants.AddPermission(new EnvironmentPermission(EnvironmentPermissionAccess.Read, "USERNAME"));
grants.AddPermission(new FileIOPermission(FileIOPermissionAccess.AllAccess, Assembly.GetExecutingAssembly().Location));
grants.AddPermission(new ReflectionPermission(PermissionState.Unrestricted));                
grants.AddPermission(new UIPermission(PermissionState.Unrestricted));

提前感谢。

使用SysInternals的进程监视器查看它访问注册表项的情况。请记住,Speech是建立在非托管代码SAPI之上的,它不遵守沙箱限制。是的,因此我正在尝试找出为什么我不能使用它。异常跟踪显示它试图打开一个注册表项,但没有说明是哪个注册表项。嗯,Process Monitor会显示哪个注册表项是。