我目前正在Windows 7上使用GitBash来使用命令行界面,并且非常有兴趣知道如何使用GitBash在其默认程序中打开文件/文档.
在linux中,如何确定默认的文本编辑器,终端等?
是否因发行版而异?
在Windows资源管理器中,当我双击任何Visual Studio文件(*.cs,*.csproj等)时,它将打开旧版本的VS,而不是最新版本的VS(VS 2017)。VS与太多文件类型的关联。
如何更改默认的 Visual Studio(对于VS可以处理的所有那些文件)?
关于Visual Studio 2008,有一个类似的老问题(将文件关联从Visual Studio 2005迁移到2008),但是那里的解决方案不再起作用(在Visual Studio 2017的设置上没有“恢复文件关联”按钮)。
windows default-programs visual-studio windows-7 visual-studio-2017
我希望在安装后第一次运行时显示Set program associationswindows [编辑:我的程序],就像Chrome一样,如下所示:

它有:
如何通过c#(或win32 c ++)来做到这一点?
编辑
我读了一些关于修改注册表的文章(通过.reg文件或修改注册表的代码工作)来设置默认程序.它似乎只适用于Windows XP/7或更低版本,而不是8/8.1,因为Microsoft使用哈希来保护这些注册表.
我有一个应用程序,当您单击一个按钮时,它会打开SharePoint共享上的文件.在IE中,它将正确地打开文档,如果您对文件进行更改,它会将更改推送回SharePoint服务器,但是如果用户将Firefox作为其默认浏览器,则Firefox将首先下载文件,然后使用本地副本.有没有办法强制程序在IE中打开链接而不是默认浏览器(或直接使用Word,但是我需要在访问文件之前传递用户域凭据)?
BackgroundWorker bw = new BackgroundWorker();
GeneratingChecklist frmProgressBar = new GeneratingChecklist();
frmProgressBar.Show();
bw.DoWork += (sender, e) =>
{
e.Result = Build(AccountNumber, PracticeName, ContractID, EducationDate, MainContactInfo, Address);
};
bw.RunWorkerCompleted += (sender, e) =>
{
frmProgressBar.Close();
running = false;
if (e.Result != null)
{
System.Diagnostics.Process.Start(((FileDetails)e.Result).Address);
}
else
{
MessageBox.Show("An error occurred generating or retrieving the educator checklist.");
}
};
bw.RunWorkerAsync();
Run Code Online (Sandbox Code Playgroud)
FileDetails.Address 禁止word文档的URL.
在使用Cocoa(Obj-C)创建一些.mov文件时,我想将它们设置为默认由特定程序打开,而不是默认打开.这应该是文件级属性,我不希望更改具有相同扩展名的所有文件的默认程序.这是从Cocoa本身完成的,而不是在"上下文菜单">>"获取信息">>"打开方式"中手动完成.