【温故Delphi】双击工程文件打开软件
问题描述
大部分软件都有鼠标双击文件,就能打开所关联的软件并打开所选工程,这是如何做到的呢?
把文件关联到一个程序中,双击文件来启动程序,那么这个文件名称就是这个程序的命令行的一个参数。
所以要想实现双击工程文件打开软件,在程序运行入口必须要处理命令行。
代码说明
begin
Application.Initialize;
CreateMainForm();
//GetCommandLine为Win32 API,用于获取命令行内容
HandleCommandLine(GetCommandLine);
if System.ParamCount = then
ExecuteApplication();
Application.Run;
end. procedure HandleCommandLine(const ACommandLine: string);
begin
// 解析参数个数:没有参数,直接退出
if ParamCount(ACommandLine) = then Exit; S := ParamStr(ACommandLine, );
17 if IsOpenFileMode(S) then
begin
// 判断当前是否能够打开新工程
if not AppInModelState then
OpenProjFile(GetLongFileName(S))
else
ShowPrompt('请关闭当前窗体,再重新双击打开工程');
end;
end;
【温故Delphi】双击工程文件打开软件的更多相关文章
- 解决双击excel文件打开多个excel.exe进程的问题
解决双击excel文件打开多个excel.exe进程的问题有些时候,双击两个excel文件,会打开多个excel进程,不同进程之间不能复制粘贴公式,只能粘贴数值,很不方便.怎么样双击多个excel文件 ...
- Xcode 工程文件打开不出来, cannot be opened because the project file cannot be parsed.
svn更新代码后,打开xcode工程文件,会出现 xxx..xcodeproj cannot be opened because the project file cannot be parsed ...
- delphi将工程文件转成dll
1.点击[File]—>[New]—>[Other]菜单项,打开[New Items],选择[New]: 2.选择[Dll Wizard]选项卡,点击ok,DLL工程创建成功. 3.点击[ ...
- Excel 2016双击文件打开后是空白,再次双击才能打开(或者通过文件,打开才能打开)
问题描述: 直接双击excel文件打开后是空白的,几乎所有功能都无法使用.但是再次双击该文件能够打开,或者通过文件 --> 打开的方式才能打开. 虽说能够打开文件,但是对于咱们这种追求完美的人来 ...
- (转)Delphi工程文件说明
1.DPR: Delphi Project文件,包含了Pascal代码.应用系统的工程文件2.PAS: Pascal文件,Pascal单元的源代码,可以是与窗体有关的单元或是独立的单元.3.DFM:D ...
- 解决VC++6.0 无法打开、无法添加工程文件
在windows系统下,经常会遇到这样的问题:点击VC++6.0 的[文件]下的[打开]无法操作,并且无法向工程添加文件,下面详细介绍一下解决方案? 工具/原料 VC++6.0 修复工具:FileTo ...
- [计算机故障处理]EXCEL文件双击不能直接打开
同事的电脑里的EXCEL文件不知什么原因双击不能直接打开了,双击只能打开软件而且是没有任何表格的,但通过软件中的“打开”再找到指定的文件能打开. 解决方案: 打开excel,依次选择:工具-选项-常规 ...
- 【Xcode 4 无法打开 Xcode 5 DP 打开过的工程文件 解决方法】
试用Xcode 5 DP打开现有工程文件后再用Xcode4打开后 Xcode 4 会进入崩溃模式折腾了几次发现下面的方法可以让工程文件恢复 如果在Xcode5-DP中打开过xib文件需要在侧栏中修改I ...
- 转:使用vs2013打开VS2015的工程文件的解决方案(适用于大多数vs低版本打开高版本)
http://www.cnblogs.com/WayneLiu/p/5060277.html 前言:重装系统前我使用的是vs2015(有点装*),由于使用2015实在在班上太另类了, 导致我想在其他同 ...
随机推荐
- linux 学习15 16 启动管理,备份和恢复
第十五讲 启动管理 . CentOS .x 启动管理 //此处指6.3 系统运行级别 .运行级别 运行级别 含 义 关机 单用户模式,可以想象为windows的安全模式,主要用于系统修复 //linu ...
- web前端相关网站
传智播客. (有很多公开课的,而且他的百度云盘也有很多东西) http://www.itcast.cn/(这个不是广告,爱信不信) 慕课网 ...
- JavaScript 中this与Dom中的注意
对于下面这段代码: <script type='text/javascript'> function testThis() { console.log(this); } </scri ...
- android开发——学习总结20131204
android:launchMode,即Activity的启动模式,与Intent中的Flags共同作用,决定Activity如何启动. android:launchMode分别有"stan ...
- 机器学习--Classifier comparison
最近在学习机器学习,学习和积累和一些关于机器学习的算法,今天介绍一种机器学习里面各种分类算法的比较 #!/usr/bin/python # -*- coding: utf-8 -*- "&q ...
- Postgresql死锁处理
今天遇到Postgresql的一个问题,部分表记录的update一直无效报错,初步判断为锁表,赶紧进行解决. 1. 查询死锁进程列表 select * from pg_stat_activity wh ...
- Xilium.CefGlue CEF Chrome 自动上传文件不弹出对话框 CefDialogHandler
关键代码如下,如何使用Handler,还不清楚的请继续搜索 internal sealed class WyzCefDialogHandler : CefDialogHandler { ...
- java查看当前项目所有线程列表界面
java查看当前项目所有线程列表界面 1.TestThread(测试类) package com.isoftstone.pcis.isc.job.king.panel; public class Te ...
- win10家庭版快速升级专业版
win10家庭普通版升级专业版方法: 1.点击“开始”,选择控制面板. 2.点击“系统与安全”,选择“Windows Anytime Upgrade”.(或者:单击「开始」按钮,在搜索框中,键入any ...
- http之100-continue(转)
1.http 100-continue用于客户端在发送POST数据给服务器前,征询服务器情况,看服务器是否处理POST的数据,如果不处理,客户端则不上传POST数据,如果处理,则POST上传数据.在现 ...