社区
C++ Builder
帖子详情
怎么设置一个文件的默认打开方式。(在程序中实现)
frankxht
2003-03-26 11:34:40
是向注册表里写什么东东?
...全文
2438
6
打赏
收藏
怎么设置一个文件的默认打开方式。(在程序中实现)
是向注册表里写什么东东?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xuv2002
2003-03-31
打赏
举报
回复
我以.txt文件为例
用regedit.exe打开注册表
到HKEY_CLASSES_ROOT主键
它下面有一长串的".*"的键值
找到.txt
它有默认值为"txtfile"
再在HKEY_CLASSES_ROOT下面搜索名为"txtfile"的主键
找到了
它有子键"DefaultIcon" 默认值为"%SystemRoot%\system32\shell32.dll,-152"
意思是文件的默认图标从shell32.dll 得来 -152为图标序号
另一子键"shell" 这个是关键了
"Shell"键下面有
"open"子键: 里面有“command” 子键其默认值就是对.txt文件的默认打开方式
值为%SystemRoot%\system32\NOTEPAD.EXE %1
另外"open"下面还有"print" 子键,就是打印的操作方式了
这样应该很清楚啦吧
xuv2002
2003-03-26
打赏
举报
回复
手动改就用google 去改吧
其实我给你的函数已经很清楚了
你随便建一个工程
然后执行一下函数不就可以了
例如txt的默认操作
RegisterExt(".txt","Text files","C:\\Winnt\\notpad.exe");
frankxht
2003-03-26
打赏
举报
回复
要手动改注册表呢?怎么改?
xuv2002
2003-03-26
打赏
举报
回复
给你一个例子吧
ext 是你要注册的文件后缀名,desc 是 描述 exe 是你默认打开的执行程序的文件名
如
RegisterExt(".txt;.tixt","My Text",Application->ExeName.c_str());
ext 可以用';'隔开多个注册
bool RegisterExt(const char* ext, const char* desc, const char* exe)
{
unsigned long Size = 0 ;
char buf [255] , Ext [17];
memset(Ext,17,0); memset(buf,0,255);
if (!ext || !ext[0] || !desc || !desc[0] || !exe || !exe[0]) return false;
strncpy(buf, exe, 3); buf[3] = '\0';
if (GetDriveType(buf)!=DRIVE_FIXED) return false;
TRegistry * Reg=new TRegistry();
Reg->RootKey=HKEY_CLASSES_ROOT;
while(ext) {
const char* s = strchr(ext, ';');
Size = s ? int(s-ext) : strlen(ext);
if (Size >= sizeof(Ext)) Size = sizeof(Ext) - 1;
strncpy(Ext, ext, Size);
Ext[Size] = '\0';
ext = s ? s+1 : NULL;
Size = sizeof(buf); buf[0] = '\0';
Reg->OpenKey(Ext,true);
Reg->WriteString("",desc);
Reg->CloseKey();
}
AnsiString Desc = desc;
if(!Reg->OpenKey(Desc+"\\DefaultIcon",true)){
Reg->CloseKey(); delete Reg; return false;
}
sprintf(buf,"%s,0",exe);
Reg->WriteString("",buf);
Reg->CloseKey();
if(!Reg->OpenKey(Desc+"\\Shell\\Open\\Command",true)){
Reg->CloseKey(); delete Reg; return false;
}
sprintf(buf,"%s %%1",exe);
Reg->WriteString("",buf);
Reg->CloseKey();
delete Reg; return true;
}
frankxht
2003-03-26
打赏
举报
回复
我的意思是,想在注册表里查看一下它的位置。
xuv2002
2003-03-26
打赏
举报
回复
要手动?
用资源管理器吧,很简单
点开资源管理器的文件夹选项
里面有文件类型,点开它
若要新建,点新建
输入你要注册的后缀名如".bik"
然后点高级按钮,出来一个对话框
最上边的是文件类型的描述,我写成"Bik Vedio"
里面有个操作列表框
点新建,然后在操作编辑框中输入"Open"。 注:这个是Windows对文件操作打开的默认值
然后输入你要用来打开该文件类型的程序的名称
如"c:\\bik\\binkplay.exe %1"
%1 是参数,当你打开*.bik文件时,自动将文件名当作参数传给执行文件了
这样你该明白了
呵呵
Windows
设置
文件
默认
打开方式
强烈推荐
一个
大神的人工智能的教程:http://www.captainbed.net/zhanghan 【前言】 计算机是现在办公必用品,如何熟练使用自己的计算机从而提高自己的效率是每个人都应该去学习去实践;今天在此为大家介绍一招
设置
文件
的
默认
打开方式
。 【
设置
方式】 一、重复操作: 1.每次打开
一个
计算机未
设置
默认
打开方式
的...
文件
打开方式
怎么
设置
默认
WPS?详细教程来啦
我们在这个列表
中
找到 WPS Office 的相关组件,如“WPS 文字”(用于打开 .doc、.docx 等文档
文件
)、“WPS 表格”(用于打开 .xls、.xlsx 等表格
文件
)、“WPS 演示”(用于打开 .ppt、.pptx 等演示文稿
文件
)等。如果系统
默认
的
打开方式
不是我们想要的,那么每次打开
文件
时,我们都需要手动选择正确的
程序
,这无疑会大大降低我们的工作效率。因此,将
文件
的
默认
打开方式
设置
为我们常用的办公软件,如 WPS Office,可以让我们更加便捷地处理各种
文件
,提高工作效率。
电脑如何
设置
给某个
程序
的快捷方式
设置
默认
使用某个软件打开(
默认
打开方式
)?
如:我们想要
设置
启动这个快捷方式时,让【阿里云盘软件】打开,并且我们觉得软件就在【桌面】,则左侧选择【桌面】后,由于软件太多,则可以直接在下方的框
中
输入:阿里 , 就会自动提示出对应的桌面上存在的软件名,点击【该软件名:阿里云盘.lnk】后,再点击【打开】如果还是没有想要的,则滚动条到最下方后,点击【在这台电脑上查找其它应用】,按照弹窗后选择电脑磁盘磁盘上具体的软件的.exe执行
文件
(软件.exe的启动图标),如果不是想要的,则拖动右侧的滚动条往下寻找找到后点击一下,然后再点【确定】
电脑同时安装了WPS和Office,怎么
设置
文件
的
默认
打开方式
?
Microsoft Office是微软公司的一款办公软件,学习工作
中
的必备工具。WPS则是由金山推出的新兴免费国产办公软件,也非常的好用,可以手机、平板、电脑三端同步。 WPS的功能相对可能会较多,用户群体学生党偏多。但是Microsoft Office毕竟是老牌办公软件,商务人士一般使用较多,很多场合下若是有软件要求,基本都会选择需要使用Microsoft Office。而且WPS和Office之间相互转换的话,也会有可能出现问题。 那么,很多人的电脑上都会同时安装这两款软件。如果我们电脑同时安装了WPS
[windows] 无拓展名
文件
设置
默认
打开方式
windows无拓展名
文件
,关联
默认
打开方式
C++ Builder
13,871
社区成员
102,696
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章