Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/269.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# 有没有一种方法可以创造;“公开”。dll变量?_C#_Powershell_Registry_Regedit - Fatal编程技术网

C# 有没有一种方法可以创造;“公开”。dll变量?

C# 有没有一种方法可以创造;“公开”。dll变量?,c#,powershell,registry,regedit,C#,Powershell,Registry,Regedit,我目前正在开发Windows10版本,我正在进行性能调整和设置。 因为我想发布它,所以我想添加多语言支持 我添加了一个右键单击上下文菜单项,您可以在其中“以管理员身份在此处打开powershell窗口”。 有一个默认的“open powershell window here”,它不使用硬编码的值作为displayName,而是访问“shell32.dll”中的变量(参见屏幕截图) 因为这不是硬编码的值,所以它从.dll(名称是硬编码的)中获取正确的语言文本 我想为不同的语言创建我自己的带有不同

我目前正在开发Windows10版本,我正在进行性能调整和设置。 因为我想发布它,所以我想添加多语言支持

我添加了一个右键单击上下文菜单项,您可以在其中“以管理员身份在此处打开powershell窗口”。 有一个默认的“open powershell window here”,它不使用硬编码的值作为displayName,而是访问“shell32.dll”中的变量(参见屏幕截图)

因为这不是硬编码的值,所以它从.dll(名称是硬编码的)中获取正确的语言文本

我想为不同的语言创建我自己的带有不同文本的.dll。我会在C#中创建.dll,因为我只知道C#,这应该不是问题。让我们用我上面的想法。 我不想使用带有“以管理员身份在此处打开PowerShell窗口”的硬编码英文文本。我希望它使用正确的PC语言

我不知道.dll是什么样子,但这是一个概念: en GB:“英语文本”,de de:“德语文本”。然后将.dll命名为“languageText.dll”,并将文本变量命名为“call”,就像对普通powershell所做的那样(从屏幕截图中),例如:@languageText.dll,-1


因此,在最后,当系统语言为英语(en GB)时,它将显示“英语文本”,当系统语言为德语(de de)时,它将显示“德语文本”。

在dll中声明的任何类都将对调用代码公开。你能澄清这个问题吗?我想“调用”/获取代码之外的变量(更准确地说,在windows注册表中)调用必须来自脚本或程序。你是从Powershell还是其他C#程序打来的?我什么都没做。从windows 10注册表的屏幕截图中可以看到,windows正在访问@shell32.dll中存储的值。我想自己做,创建一个.dll,然后从注册表中访问.dll中的一个值。就像在屏幕截图中所做的那样,
shell32.dll
是Windows和PowerShell的核心组件。好了,没有办法替换它的功能。在dll中声明的任何类都将对调用代码公开。你能澄清这个问题吗?我想“调用”/获取代码之外的变量(更准确地说,在windows注册表中)调用必须来自脚本或程序。你是从Powershell还是其他C#程序打来的?我什么都没做。从windows 10注册表的屏幕截图中可以看到,windows正在访问@shell32.dll中存储的值。我想自己做,创建一个.dll,然后从注册表中访问.dll中的一个值。就像在屏幕截图中所做的那样,
shell32.dll
是Windows和PowerShell的核心组件。抱歉,没有办法取代它的功能。