实际上,我不知道我的问题的标题是什么,所以我无法在Google上搜索,首先我需要知道对这个问题说些什么。
好吧,我在Visual Studio C ++ 2010中开发了一个应用程序,其中可以处理3D对象,因此有一个名为Import Model的函数可以帮助导入模型。
我想要的是,用户只需右键单击该对象并按[打开[应用程序名称]或双击它,应用程序应该获取该文件的路径并调用导入功能。与我们对任何MS字* .doc文件一样,我们双击它并打开它。
我希望将我的软件作为默认程序来打开一些特定的文件扩展名。当用户双击模型时,它应该在我的应用程序中打开。
实际上,我读过一些关于参数解析器的内容,我对此并不了解。这是我需要寻找的吗?
感谢。
更新1:
Benjamin Lindley和其他人正在工作,但在启动应用程序之前我收到以下错误。该参数只通过FLTK窗口。我不知道这个窗口来自哪里?甚至没有这些图像选项..请看下面的图片...
答案 0 :(得分:2)
您需要文件关联,例如,在.bat
文件中:
@ASSOC .3D=3DObject.File
@FTYPE 3DObject.File="C:\MyProjects\Release\myprog.exe" "%%1" %%*
这使用了注册表配置单元HKEY_CLASSES_ROOT
,您可能需要对它的写访问权限,因此“以管理员身份运行”。
编辑:作为程序员,您可以使用注册表API(RegCreateKeyEx
,RegSetValueEx
等)自行添加与HKEY_CLASSES_ROOT
的关联,但可能不值得努力,因为它可能只需要一次。
答案 1 :(得分:1)
“评论和答案”中提到的“文件关联”是主题(在我看来),可能属于Super User。但作为程序员,你需要做什么?好吧,当有人双击与您的程序关联的文件时,文件名作为主函数的参数出现,您可以按照自己喜欢的方式处理:
int main(int argc, char** argv)
{
// the name file that was used to open your program is stored in argv[1]
if (argc == 2)
DoSomethingWithFile(argv[1])
}