问题描述
大部分软件都有鼠标双击文件,就能打开所关联的软件并打开所选工程,这是如何做到的呢?
把文件关联到一个程序中,双击文件来启动程序,那么这个文件名称就是这个程序的命令行的一个参数。
所以要想实现双击工程文件打开软件,在程序运行入口必须要处理命令行。
代码说明
1 begin 2 Application.Initialize; 3 CreateMainForm(); 4 //GetCommandLine为Win32 API,用于获取命令行内容 5 HandleCommandLine(GetCommandLine); 6 if System.ParamCount = 0 then 7 ExecuteApplication(); 8 Application.Run; 9 end. 10 11 procedure HandleCommandLine(const ACommandLine: string); 12 begin 13 // 解析参数个数:没有参数,直接退出 14 if ParamCount(ACommandLine) = 0 then Exit; 15 16 S := ParamStr(ACommandLine, 1);
17 if IsOpenFileMode(S) then 19 begin 20 // 判断当前是否能够打开新工程 21 if not AppInModelState then 22 OpenProjFile(GetLongFileName(S)) 23 else 24 ShowPrompt('请关闭当前窗体,再重新双击打开工程'); 25 end; 26 end;
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步