Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.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# 如何控制下拉列表中显示的屏幕保护程序名称?_C#_.net_Windows_Screensaver - Fatal编程技术网

C# 如何控制下拉列表中显示的屏幕保护程序名称?

C# 如何控制下拉列表中显示的屏幕保护程序名称?,c#,.net,windows,screensaver,C#,.net,Windows,Screensaver,我有一个可用的屏幕保护程序,想知道如何控制屏幕保护程序下拉列表中Windows显示的名称。目前,这一切似乎是基于文件名,但我知道不可能是这样的。以下是我的尝试和结果: 文件名:CC.Votd.scr屏幕保护程序名称:CC 文件名:CC-Votd.scr屏幕保护程序名称:CC-Votd 我希望将文件命名为CC.Votd.scr,并将屏幕保护程序名称显示为CC.Votd(大写对我来说很重要,所以即使CC Votd也可以:-) 我很确定这是可能的,因为Photos屏幕保护程序是PhotoScreens

我有一个可用的屏幕保护程序,想知道如何控制屏幕保护程序下拉列表中Windows显示的名称。目前,这一切似乎是基于文件名,但我知道不可能是这样的。以下是我的尝试和结果:

文件名:
CC.Votd.scr
屏幕保护程序名称:
CC

文件名:
CC-Votd.scr
屏幕保护程序名称:
CC-Votd

我希望将文件命名为
CC.Votd.scr
,并将屏幕保护程序名称显示为
CC.Votd
(大写对我来说很重要,所以即使
CC Votd
也可以:-)

我很确定这是可能的,因为
Photos
屏幕保护程序是
PhotoScreensaver.scr


提前感谢您的帮助。

此线程有以下答案:

我发现我需要那张琴弦桌,我只是不知道怎么做 将该本机资源添加到我的程序集。要添加此字符串表,请执行以下操作: 必须将我的VS2003解决方案转换为VS2005解决方案,因为VS2003 不允许将本机资源添加到项目中。下面你会看到 找一份你指给我的经过修改的副本。如何添加 屏幕保护程序的标题很好看(在 屏幕保护程序选项卡上的下拉列表(显示属性)原件 资料来源: 修改的步骤:
1.在Visual Studio中,选择文件->新建->文件
2.在常规节点下,选择本机资源模板,然后单击打开
3.在设计器窗口中,右键单击restemp1.rct节点,然后单击添加资源
4.在添加资源对话框中,选择字符串表并单击新建
5.修改第一条记录,使其具有以下值:ID:,值:1,标题:我的屏幕保护程序标题
6.选择文件->另存为,将另存为类型更改为32位资源文件,并将文件保存到您将记住的位置
7.在解决方案资源管理器中,右键单击要更改其产品版本的项目节点,然后单击属性
8.在应用程序选项卡中,选中资源文件并单击…
9浏览到您在上面创建的本机资源文件,然后单击“确定”
10重建项目

您的程序集现在应该反映资源中包含的值 文件注意:如果你的应用程序中有一个图标,你现在必须 手动将其添加到本机资源文件中。这是因为 项目属性允许您选择“图标”或“资源” 不是两者都有。因此,要在应用程序中添加图标,请将其添加到 刚刚创建了本机资源文件,就像添加了字符串一样 桌子


屏幕保护程序名称来自.scr文件的本机资源。因此,您需要添加一个非托管资源。并使用字符串ID 1作为名称

.rc文件如下所示

STRINGTABLE
BEGIN
   1 "My Screensaver"
END

我刚刚阅读了other answer发布的链接,注意到所有的步骤都假设是IDE。所以我很高兴地看到,用手来做并不是完全不可能的。但是项目如何知道使用资源作为标题呢?这是字符串表唯一可能的用途吗?项目完全不知道它需要用作标题-事实上,它甚至不知道“标题”是什么。它只知道“嘿,这家伙想在应用程序中嵌入一个本地资源”。然后屏幕保护程序对话框取出第一个字符串资源,并将其用作屏幕保护程序的“标题”。我不认为是项目在使用它,因为屏幕保护程序对话框在可执行文件中查找字符串表,该字符串表包含一个没有id且值为1的行。是,该对话框假设字符串id 1(或者可能是第一个字符串)是标题。这是一个相当伤脑筋的设计,但是.scr文件可以一直追溯到Windows3.x,所以你能做些什么呢?+1提供了很好的信息。这比我想象的要轻松得多。甚至把我的漂亮图标加回来也很容易:——)真棒的人,这对我来说是成功的。不知道为什么我在谷歌上找不到这个:-)