简单的桌面小工具无法在运行之间保存数据

时间:2011-12-23 12:15:40

标签: windows-7 windows-desktop-gadgets

我正在尝试编写一个非常简单的Windows 7小工具,这很容易。但是我无法获得我使用System.Gadget.Settings.write/readwriteString / readString)保存的任何数据,以便在小工具的运行之间保留。我知道它可以完成,因为所有其他Microsoft小工具都可以。我显然错过了一些至关重要的东西,但看不到它。

这是一个非常简单的缩减示例:

<html>
<head>
<meta http-equiv="MSThemeCompatible" CONTENT="yes" />
<meta http-equiv="Content-Type" content="text/html; charset=Unicode" />
<title>test</title>
    <script type="text/javascript">
        function save() {
            var e = document.getElementById("name");
            if (e && e.value) {
                System.Gadget.Settings.write("name", e.value);
                prompt("turnedout", System.Gadget.Settings.read("name"));
            }
        }

        function load() {
            var t = System.Gadget.Settings.read("name");
            prompt("turnedout", t);
        }
    </script>
</head>
<body scroll="no" unselectable="on" onload='load()'>
    <label for='name'>Name</label>
    <input id='name'>
    <input type="button" value='Save' onclick='save()' />
</body>
</html>

我已经跟踪了代码,所有内容似乎都在正确的位置。有什么遗漏?

2 个答案:

答案 0 :(得分:0)

小工具在设置方面不像桌面应用程序那样工作。这些设置是小工具的每个实例。关闭实例,您将丢失设置。还有其他限制。在http://dotnetslackers.com/articles/net/SettingsManagerforWindowsVistaSidebarGadgets.aspx

有一个很好的解释

答案 1 :(得分:0)

即使我有同样的问题,但当我移动System.Gadget.Settings.write(“name”,e.value)时;对于gadget.xml文件中指定的html,它正确地写入了settings.ini文件