我们都很容易在Windows 8之前(在XP/VISTA/WIN7中)执行此操作,只需对Registry进行少量更改即可完成.
使用Windows 8并不是那么容易(我还没弄清楚如何).Windows 8也没有下面提到的更改注册表设置,但除此之外,它还为每台计算机存储一个唯一的哈希.任何机构可以帮助我可能创造这个散列为每台计算机或微软提供的设置默认浏览器的一些API("SetAppAsDefaultAll"不工作).以下是注册表项.
计算机\ HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts.htm\UserChoice Progid:IE.AssocFile.HTM哈希:XXXXXXXXXXX
计算机\ HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts.html\UserChoice Progid:IE.AssocFile.HTM哈希:XXXXXXXXXXX
计算机\ HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts.xht\UserChoice Progid:IE.AssocFile.XHT哈希:XXXXXXXXXXX
计算机\ HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts.xhtml\UserChoice Progid:IE.AssocFile.XHT哈希:
计算机\ HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\ftp\UserChoice Progid:IE.FTP哈希:XXXXXXXXXXX
计算机\ HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice Progid:IE.HTTP哈希:XXXXXXXXXXX
计算机\ HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\https\UserChoice Progid:IE.HTTPS哈希:XXXXXXXXXXX
提前谢谢了.
我们正在尝试将.NET 3.5内置的应用程序移动到2.0(因为我们的exe运行在XP等没有3.5的旧机器上)
在这样做的同时,现在一切都停留在一个主要问题上用旧式代理替换Func(因为Func在2.0上不可用).要替换的代码是这样的.
private Func<object, string> someName1;
private static Func<object, string> someName2;
internal Func<object, string> someProperty
{
get { return someName1?? (someName1= someName2); }
set { someName1= value; }
}
Run Code Online (Sandbox Code Playgroud)
有些人可以帮助我创建'someProperty',只需使用代表.提前致谢.