Thy*_*ine 8 .net screensaver windows-7
我在C#和Windows Forms中编写了一个屏幕保护程序.为了测试我已经懒,只是用我所有的设置配置文件(无设置对话框还),但该计划似乎无法找到或读取配置文件时,Windows上运行屏幕保护程序.
它在我使用预览按钮或以任何方式手动运行时都有效,只有当它达到屏幕保护程序超时时它才能找到配置文件.
记录AppDomain.CurrentDomain.SetupInformation.ConfigurationFile它返回短名称:C:\Windows\System32\MYSCRE~1.config
它应该在哪里C:\Windows\System32\MyScreenSaverName.scr.Config
所以我猜测问题是它无法找到带有短名称路径的配置文件.
不确定它是否由于Windows 7运行屏幕保护程序的系统帐户,或者其他方式如何运行.任何信息都会有所帮助,谢谢.
编辑:尝试找出任何差异:
Environment.CommandLine返回C:\Windows\system32\MYSCRE~1.SCR /s,但是当我运行屏幕保护程序时它具有正常路径Process.GetCurrentProcess().StartInfo都是一样的WindowsIdentity.GetCurrent().Name 是我的帐户名称看看其他问题,似乎User32是启动屏幕保护程序的,所以我认为它必须是如何启动scr进程.
解决方法:将.scr文件重命名为8个字符或更少,使其正常工作.所以现在有效,仍然会想知道为什么存在这个问题.
小智 1
编辑:哎呀...我注意到这是一个 1 年前的问题了,为时已晚...好吧,也许有人会发现这个有用。
您确定文件系统不是 fat/fat32 而不是 ntfs 吗?
也许是从旧的fat/fat32格式的系统升级而来的Win7?(所以 fs 没有升级)?
也许我错了,这只是我的猜测,看到了短名称。我最近在 C# 中开发了一个屏幕保护程序项目,并且完全没有遇到任何问题...说实话,我很久以来都没有看到过短名称...
您应该从磁盘管理中看到 fs 类型。做了一些研究我也得到了这个,检查 FUTIL.EXE 是否可以提供帮助,那里有一个奇怪的“disable8dot3”选项:
http://commandwindows.com/fsutil.htm
| 归档时间: |
|
| 查看次数: |
516 次 |
| 最近记录: |