如何在 WPF 中为 Windows 屏幕保护程序编写文件
How to write a file in WPF for Windows Screen Saver
我在 WPF 中开发了一个自定义屏幕保护程序(扩展名为 .scr),但我遇到了一个问题:
当 Windows 的屏幕保护程序为 运行 时,应用程序会立即停止。
经过一些测试,我发现它来自于 I'm creating/writing files.
我试过了:
- 以管理员身份向 运行 添加清单
- 用 8 个字符 + 3 个扩展名命名我的文件
- 将我的文件写入不同的位置("C:\"、"C:\Windows"、"C:\Program Files (x86)"、...)
但是没有任何效果...
有什么想法吗?
注意:我需要在我的文件中写很多行
好吧,我的坏...我发现我的问题在哪里。
首先,屏保没有写入Windows文件夹的权限。
然后,我尝试使用 Environment.SpecialFolder.MyDocuments
在一个特殊的文件夹中写入,但这 属性 return 文件夹的名称。所以我需要改用Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)
。
最后,我试图在一个不存在的文件夹中写入一个文件。我以为文件夹会自动创建但是我错了...
按照@elgonzo 的建议,我添加了异常处理程序并使用 MessageBox.Show(log)
在消息框中显示错误消息。
我在 WPF 中开发了一个自定义屏幕保护程序(扩展名为 .scr),但我遇到了一个问题: 当 Windows 的屏幕保护程序为 运行 时,应用程序会立即停止。 经过一些测试,我发现它来自于 I'm creating/writing files.
我试过了:
- 以管理员身份向 运行 添加清单
- 用 8 个字符 + 3 个扩展名命名我的文件
- 将我的文件写入不同的位置("C:\"、"C:\Windows"、"C:\Program Files (x86)"、...)
但是没有任何效果...
有什么想法吗?
注意:我需要在我的文件中写很多行
好吧,我的坏...我发现我的问题在哪里。
首先,屏保没有写入Windows文件夹的权限。
然后,我尝试使用 Environment.SpecialFolder.MyDocuments
在一个特殊的文件夹中写入,但这 属性 return 文件夹的名称。所以我需要改用Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)
。
最后,我试图在一个不存在的文件夹中写入一个文件。我以为文件夹会自动创建但是我错了...
按照@elgonzo 的建议,我添加了异常处理程序并使用 MessageBox.Show(log)
在消息框中显示错误消息。