1

I added a file to my resources called Test.txt. Inside the Test.txt I wrote the word "boo".

How to replace the text "boo" inside the app resource with another word for example "Bah"?

4

4 回答 4

1

您不应该尝试在运行时修改资源。如果您需要更改此设置,一个不错的选择是提取资源并将它们保存在磁盘上(即:在用户的 AppData 文件夹中)。然后,您可以根据需要使用(和修改)该文件。

尝试修改程序集中的资源可能会 1) 由于部署时的权限问题而失败,以及 2) 几乎每个病毒扫描程序都将您的程序标记为病毒。

于 2013-08-21T16:16:49.967 回答
0

有资源函数调用来更新资源文件http://msdn.microsoft.com/en-us/library/windows/desktop/ff468902(v=vs.85).aspx,但它们很丑,丑,丑陋的。Vista 也添加了一些安全限制。如果你只是想玩玩,玩得开心,但在生产代码中,作为你的老板,我要么让你重写,解雇你,要么通过听你这样做的“理由”来自娱自乐——也许三件事都做。

于 2013-08-21T22:13:24.003 回答
0

如果要存储文本并在运行时更改它,最好使用 my.settings。

它被保存,并在您下次运行程序时包含在内。

http://social.msdn.microsoft.com/Forums/en-US/ed1491b4-65ed-4a06-a770-d37d863ec24e/how-do-i-persiststore-user-settings-using-mysettings-in-vbnet

于 2013-08-21T16:21:58.837 回答
0

虽然我同意编译后最好不要编辑资源,但要更改字符串,几乎可以使用任何十六进制编辑器来完成。

制作二进制文件的副本以防出现问题。在十六进制编辑器(如免费的 HxD 十六进制编辑器)中打开文件,搜索要替换的值,然后更改各个字符。保存您的更改,看看它是否有效。

诀窍是不要更改字符串之外的任何内容,也不要更改字符串的长度。如果您更改文件的大小,它可能不再起作用。此外,任何 CRC 或 MD5 散列都是错误的,所以如果有什么可以验证的话,请注意。

For example-

boo -> bah is ok
boo -> baha is not ok
boo -> ba is not ok
boo -> ba_ is ok (use space)
于 2013-08-22T16:40:53.873 回答