我是Windows开发的新手,所以当我提出一些真正的基本问题时,会要求每个人都忍受。 我想有一个Windows应用程序,它可以记住上一次的用户输入。基本上我的想法是,我可以接受用户输入并将其写入XML文件,并在应用程序再次加载时从中读取。但问题是我必须最终只分发.exe文件。因此,我不能在我的exe旁边放一个.xml文件来读取它。我不能使用嵌入式资源,因为我无法写入它。(或者我是否误解了这个?)。 那么什么是最好的选择呢?我知道这个用户输入不会超过1行(2或3个字更具体)。因此,我希望有一个简单的解决方案。
答案 0 :(得分:2)
将用户输入保存在XML文件上确实不会阻止您分发exe文件,是吗?编写代码以创建XML文件(如果它不存在),因此当有人第一次执行您的应用程序并输入输入时,将创建XML文件并保存输入。
虽然不推荐,但您也可以考虑在Windows注册表中保存这些值。
答案 1 :(得分:1)
如果你想存储"某些东西",你需要将它存储在某个地方"。这个"某个地方"通常是数据库,文件(txt,xml,...),Windows注册表,远程服务器等,这一切都取决于具体的需求。如果你不能,你唯一的选择就是使用一个临时的内存集合/对象,但这将会消失"关闭应用程序的那一刻。您不能拥有.exe文件,它可以自行完成所有工作。
您不需要发送包含多个文件的应用程序,您可以随时在需要时创建它们。只需确保您拥有正确的权限。
答案 2 :(得分:1)
嗯,其他答案忽略了针对此方案定制的解决方案:user settings。将设置文件添加到项目中,并定义所需的设置;将其范围设置为“用户”,并根据需要定义默认值。然后在您的代码中,使用Properties.Settings.Default.SomeProp
检索并更新设置。
此方法允许您创建每个用户持久保存到本地文件系统的数据结构。它还具有以下优点:即使将应用程序更新推送给用户,也可以保留设置。
答案 3 :(得分:0)
您无需部署其他文件。只需创建一个XMLDocument(称之为xmlDoc),填充其中的信息,然后使用xmlDoc.Save(myFileName)编写它。 诀窍在于保存'myFileName'。通常,Windows不允许应用程序写入Program Files下的任何内容,因此您不能只写入应用程序目录。我的文档通常是保存文件的好地方。做这样的事情:
string myDocumentsFolder = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); string myFileName = string.format(@“{0} \ MyAppSettings.txt”,myDocumentsFolder“); xmloc.Save(MyFileName的);