获得同相应扩展文件名关联的应用程序

delphi 编程 获得同相应扩展文件名关联的应用程序,代码 如下:

unit Unit1;

interface

uses

Windows, Messages, Registry,IniFiles,SysUtils, Variants, Classes, Graphics, Controls, Form s,

Dialogs, StdCtrls;

type

TForm 1 = class(TForm )

Button1: TButton;

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form 1: TForm 1;

implementation

{$R *.dfm}

function GetProgramAssociation (Ext : string) : string;

//取得相关联的文件

var

reg: TRegistry;

s : string;

WinIni : TIniFile;

WinIniFileName : array[0..MAX_PATH] of char;

begin

s := ‘‘;

reg := TRegistry.Create;

//生成注册表对象

reg.RootKey := HKEY_CLASSES_ROOT;

if reg.OpenKey(‘.‘ + ext + ‘\shell\open\command‘,false) <> false then

//打开指定的键值

begin

s := reg.ReadString(‘‘);

reg.CloseKey;

end

else

begin

//如果不能打开

if reg.OpenKey(‘.‘ + ext, false) <> false then

begin

s := reg.ReadString(‘‘);

reg.CloseKey;

if s <> ‘‘ then

begin

if reg.OpenKey(s + ‘\shell\open\command‘,false) <> false then

s := reg.ReadString(‘‘);

reg.CloseKey;

end;

end;

end;

if Pos(‘%‘, s) > 0 then

Delete(s, Pos(‘%‘, s), length(s));

if ((length(s) > 0) and (s[1] = ‘"‘)) then

Delete(s, 1, 1);

if ((length(s) > 0) and (s[length(s)] = ‘"‘)) then

Delete(s, Length(s), 1);

while ((length(s) > 0) and ((s[length(s)] = #32) or

(s[length(s)] = ‘"‘))) do

Delete(s, Length(s), 1);

GetWindowsDirectory(WinIniFileName, sizeof(WinIniFileName));

//得到系统目录

StrCat(WinIniFileName, ‘\win.ini‘);

WinIni := TIniFile.Create(WinIniFileName);

s := WinIni.ReadString(‘Extensions‘,ext,‘‘);

WinIni.Free;

{Delete any command line}

if Pos(‘ ^‘, s) > 0 then

Delete(s, Pos(‘ ^‘, s), length(s));

result := s;

end;

procedure TForm 1.Button1Click(Sender: TObject);

begin

ShowMessage(GetProgramAssociation(‘gif‘));

end;

end.

时间: 2024-07-30 13:52:28

获得同相应扩展文件名关联的应用程序的相关文章

修改与文件类型关联的默认程序

13/12/27 安装了Planner项目管理软件后,发现.planner文件的默认打开程序为gedit.想要将其修改过来,在open with的程序列表里也没有planner这一项,而且也无法人工指定命令行,似乎这一功能被Nautilus关掉了.通过网上搜索,Gnome系统中文件类型的描述,即mimetype,存放于/usr/share/mime与~/.local/share/mime目录下.而用于描述应用程序所能打开的文件类型则主要放在其中的application子目录中.可以看到,其中已经

Win10提示“没有关联的电子邮件程序来执行请求的操作”的解决方法

Win10提示“没有关联的电子邮件程序来执行请求的操作”怎么办?明明win10系统是由邮件程序的,为什么会提示需要安装电子邮件程序呢?这是因为我们没有设置邮件关联程序来打开邮件或者是邮件app功能没有打开导致的.下面小编就详细的为大家介绍Win10提示“没有关联的电子邮件程序来执行请求的操作”的解决方法. 一.检测邮件默认打开程序是否设置. 1.win+i打开设置. 2.打开应用. 3.查看默认应用下电子邮件默认应用是否被设置为邮件或者自己安装的电子邮件软件. 4.如果没有设置则点击下拉选择邮件

如何将应用程序与文件类型(文件扩展名)关联起来?

自定义一个文件格式,如 .jgrass ,如何将这种文件格式与对应的程序关联起来? 或者,自己编写了一个可以打开 txt 格式的应用程序,怎么能够通过双击 txt 文件,直接打开这个自定义程序? 基本思路是向注册表中写入或修改一些值. 具体可以参见: 如何为你的 Windows 应用程序关联一种或多种文件类型 - walterlv 注册表中的文件扩展名 注册表中的关联程序 举个栗子 e.g. 怎么修改 txt 文件的默认打开格式? 理论上讲,有两种实现方式. 1 修改上图 1 中的 .txt 项

windows 上让文件类型和程序关联的批处理程序。

文件关联工具 地址: https://github.com/wll8/assoc-tool 本工具可以用来为你的便携程序添加文件关联,比如 nodepad2.exe . vscode 或其他图片处理程序,而不仅仅是 sublime text . 使用方法 把要关联的程序比如 nodepad2.exe 拖入本工具的窗口即可进行操作. [x] 添加右键菜单 [x] 关联扩展名 [x] 关联图标 [x] 取消关联扩展名 [x] 取消添加右键菜单 [ ] 图标叠加 设置扩展名 按照以下格式录入 ext.

[转]Windows中的命令行提示符里的Start命令执行路径包含空格时的问题

转自:http://www.x2009.net/articles/windows-command-line-prompt-start-path-space.html 当使用Windows 中的命令行提示符执行这段指令时(测试Start命令执行带空格的路径的程序或文件问题),第一行Start会成功执行,跳出记事本程序,而第二行,会 Start跳出一个新的命令提示符,标题上写着路径,但是不会执行任何命令,第三行Start命令行提示符会提示C:\Program文件不存在,提示无 法执行. start

windows7命令帮助大全

有关某个命令的详细信息,请键入 HELP 命令名ASSOC 显示或修改文件扩展名关联.ATTRIB 显示或更改文件属性.BREAK 设置或清除扩展式 CTRL+C 检查.BCDEDIT 设置启动数据库中的属性以控制启动加载.CACLS 显示或修改文件的访问控制列表(ACL).CALL 从另一个批处理程序调用这一个.CD 显示当前目录的名称或将其更改.CHCP 显示或设置活动代码页数.CHDIR 显示当前目录的名称或将其更改.CHKDSK 检查磁盘并显示状态报告.CHKNTFS 显示或修改启动时间

MFC文件读写

MFC文件读写 分类: c++2009-09-24 23:30 12400人阅读 评论(4) 收藏 举报 mfcdllinifile存储windows 目录(?)[-] 为什么要在程序中使用文件 文件类型 第一部分文本文件 文本文件的读写 客户操作记录实例功能预览及关键知识点 文本文件存储管理 正确的文本文件读写过程 定义文件变量 打开指定文件 实例1以只读方式打开一个文件 向从文本文件中写入信息 实例2向文件中写入文本 从文本文件中读取信息 实例3从文件中读取文本信息 关闭文件 错误的文本文件

windows下cmd命令提示符下让程序后台运行命令

如果你的程序需要在windows后台运行,并且是在cmd下启动,那么在执行的程序前加上start /b,比如start /b [程序名]. windows下start命令的详细参数及功能介绍如下: 文章来源 www.169it.com 启动一个单独的窗口运行指定的程序或命令. START ["title"] [/D path] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED] [/LOW | /NORMAL | /HIGH | /REALTIME | /

MFC文件处理

计算机室如何管理自身所存放着的大量的信息的呢?windows的磁盘管理程序为我们提供了一套严密而又高效的信息组织形式--硬盘上的信息是以文件的形式被管理的. 面向存储的文件技术 什么是文件?计算机中,一篇文章.一幅图片.一个程序等都是以文件的形式存储在磁盘上的,每个文件都有一个文件名.计算机就是对文件按名存取的.文件名的格式如下:主文件名.扩展名. 为什么要在程序中使用文件? 通常,程序中的数据在程序运行结束之后,就会从内存中清除,再次运行程序时不会自动出现.在编制程序的过程中不可避免的会遇到将