今天测试的时候无意间发现,打开通过写注册表关联了程序的文件,如果文件名中存在空格,则无法通过双击打开。
经测试发现,原来是在Main方法入口点传入的参数为string[] 类型,当传入带空格的路径时,会被分解成多个字符串存入string[] 数组中。由于Main的参数由注册表关联后直接传入的,所以我没法直接修改传入的字符串参数,又不能避免文件路径中不包含空格。该怎么解决这个问题呢?我开始研究注册表的文件关联。这篇文章给我了很大的帮助:深入注册表之文件关联——文件关联认识篇
先贴上我所用的文件关联的代码:
///<summary>
/// RegisterFileType使文件类型与对应的图标及应用程序关联起来。
/// </summary>
public static void RegisterFileType(FileTypeRegInforegInfo)
{
if(RegistryHelper.FileTypeRegistered(regInfo.ExtendName))
{
return;
}
string relationName = regInfo.E