利用注册表修改文件关联
最近在看注册表方面的东西。正巧醒哥回来了,让我做个修改文件关联的程序。具体用什么方法实现,不用管,只要能实现就可以了。
那就用注册表来实现好了。
那么利用注册表的话有几种方法可以修改关联方式呢?
首先介绍一下最简单的一种方法:直接修改打开方式。
首先先尝试下修改.txt文件吧, 如果直接修改.exe文件的话,怕修改以后regedit.exe都进不去了,那就囧了,呵呵。
首先我们找到.txt文件的打开方式所在的键值位置:
根键是
HKEY_CLASSES_ROOT
子键是
"txtfile\shell\open\command"
这里的默认键值是
%SystemRoot%\system32\NOTEPAD.EXE %1
这里简单介绍一下
这个键值的类型是REG_EXPAND_SZ, 它与REG_SZ有什么区别呢?
我们看到默认键值里面%SystemRoot% 这个大家应该都知道是环境变量,两个%中间的SystemRoot 对应了你自己电脑里面的路径。
REG_EXPAND_SZ 在执行的时候会把环境变量转换成具体的路径。
那么最后那个 %1 是什么意思呢?
我们这里尝试一下去掉%1 ,会发现打开任何的.txt文件,都显示空白的文本文件。
也就是说 参数%1 的作用就是启动Notepad程序的同时 打开这个txt文件
现在我们把这个默认的键值改掉,比如改成 "C:\Windows\System32\cmd.exe"
现在再次尝试一下,打开任何.txt文件都会启动cmd.exe了
那么对于exe关联应该也是一样的。我们找到exe关联启动方式的位置:
主键
HKEY_CLASSES_ROOT
子键
"exefile\shell\open\command"
键值
"%1" %*
自己尝试一下,虽然成功了,但是发现了几个比较奇怪的问题。。。
1.比如改成qq.exe 随便点个exe文件打开,内存占用突然变得很大,然后很久才打开。不知道为什么。
然后就是通过API来实现了。
这个其实就是几个函数的问题啦,还是比较简单的,明天详细实现并讲解一下。
最后想想,还有没有别的方法来实现呢?今天自己借了本注册表编程的书简单看了下,发现是有的!!!!
这里先卖个关子,今天很晚了,洗洗先睡了,明天接着上!~~~
利用注册表修改文件关联相关推荐
- 注册表的文件关联及应用
喜欢使用Windows右键快捷菜单的朋友可能知道,当你选择了一个文件(或者是文件夹或是系统图标)再单击鼠标右键,系统就会弹出一个菜单,菜单上面的各种"功能"(或称"操作& ...
- 如何利用注册表修改开机启动程序并提高电脑开机速度!
利用注册表修改开机启动程序: 修改以下三个地方就可以了,最主要的是Run这个地方.[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersi ...
- 有关动态数据交换DDE、注册表和文件关联(转载)
有关动态数据交换DDE.注册表和文件关联的片语只言(转载) 一.动态数据交换(Dynamic Data Exchange,简称DDE) DDE协议定义了一组消息及其使用规则,借助共享内存机制,通过应用 ...
- Win11通过注册表修改文件默认打开方式
打开注册表 开始运行,输入regedit 复制文件类型对应默认数据 进入HKEY_CLASSES_ROOT,按.文件类型扩展名定位,复制默认数据 调用Ctrl+F查找对应的默认值 展开找到的目录,定位 ...
- 关于win7注册表中文件关联应用程序的规则
最近在做一个关于应用程序和文件图标的工具,过程中需要了解windows如何给文件选择展示图标和默认打开方式的问题,各种论坛上有关资料查了很多,但是自己一旦尝试过后就会发现所讲的都很表面,不能代表win ...
- 修改注册表来修改文件关联
[注册表]文件关联篇 2009-04-23 11:15 如何通过修改注册表来修改文件关联 喜欢使用Windows右键快捷菜单的朋友可能知道,当你选择了一个文件(或者是文件夹或是系统图标)再单击鼠标右键 ...
- 修改.html 打开方式 注册表,windows 注册表修改资料打开方式
windows 注册表修改文件打开方式 描述遇到的问题 在打开jsp文件时,右击选择打开方式中选择dreamweaver,但是却是以firefox打开 初步分析应该是jsp也和firefox进行了关联 ...
- 如何在注册表里计算机用户名,可以通过注册表修改电脑的密码 ?怎么做的?
可以通过注册表修改电脑的密码 ?怎么做的?以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 可以通过注册表修改电脑的密码 ...
- Windows注册表脚本文件(简介、添加、修改、删除)
简介 我们平时大多采用Regedit注册表编辑器来实现对注册表的修改操作,但是这种手工操作费时费力,当你要对多台PC统一修改注册表时,就要怨念了.并且在某些情况下,如果注册表编辑器被禁用了,那么这种方 ...
最新文章
- 在SQL2000怎樣用動態實現SQL2005的nvarchar(max)功能
- c#,Halcon_HObject双向转换HImage
- Linux scp常用命令
- WPF 开发前学习(一)
- HDU1878 欧拉回路
- 7大排序算法详解+java实现
- 部署exchange2010三合一:之二:先决条件
- 新东方私有化背后的秘密
- 【实践】BiLSTM上的CRF,用命名实体识别任务来解释CRF(2)损失函数
- dexposed框架Android在线热修复
- Extjs EditorGridPanel功能
- 编程游戏开发:如何开发制作一款游戏?你需要做哪些准备?
- VBA字典数组转置维度变化
- 2022危险化学品经营单位主要负责人考试题库及在线模拟考试
- [转]WinRAR破解方法
- 《rework》读书摘要
- 《java并发编程的艺术》阅读笔记总结
- 隐私政策网址 (URL)
- 高等数学(导数的应用)
- Android集成友盟推送服务
热门文章
- 推荐系统工业界顶会论文总结——WSDM 2021
- 大数据概述:大数据生态系统
- 实现两个企业微信客户端登录
- lajp linux教程,linux IMX6 汇编点亮一个LED灯
- ESP8266 WIFI 模块串口调试过程-实现通过互联网实现数据远程传输(结尾含驱动代码链接)
- 某灵JAVA互联网架构师专题/分布式/高并发/微服务
- 声学——声源定位阅读笔记
- 四轴自适应控制算法的一些尝试开源我的山猫飞控和梯度在线辨识自适应等算法—(转)...
- python+Django搭建web服务器
- 笛卡尔积算法的Java实现