首页 教育论文中心 论文分类 论文搜索 论文发表 汇款确认 会员专区 在线购卡 服务帮助 联系我们 网站地图
当前位置:教育论文中心首页--计算机计算机 论文集--如何在 Windows操作系统中改变文件打开方式
推荐论文
·如何撰写调查报告
·暑假社会实践报告--走进
·暑假社会实践报告--走进
·暑期社会实践--企业管理
·大学生寒假实习报告范文-
·民工子女生活现状的大学生
·浙江大学生暑期社会实践报

·师范大学大学生暑期教学社
·大学生暑期农村教育实践报
·大学生暑期“三下乡”社会
科目列表
市场营销 管理理论 人力资源
电子商务 社会实践 先进教育
伦理道德 艺术理论 环境保护
农村研究 交通相关 烟草论文
电子电气 财务分析 融资决策
电影艺术 国学论文 材料工程
语文论文 数学论文 英语论文
政治论文 物理论文 化学论文
生物论文 美术论文 历史论文
地理论文 信息技术 班主任
音乐论文 体育论文 劳技论文
自然论文 德育管理 农村教育
素质教育 三个代表 旅游管理
国际贸易 哲学论文 工商管理
证券金融 社会学 审计论文
会计论文 建筑论文 电力论文
水利论文 园林景观 农林学
中医学 西医学 心理学
公安论文 法学法律 思想汇报
法律文书 总结报告 演讲稿
物业管理 经济学 论文指导
计算机 护理论文 社会调查
军事论文 化工论文 财政税收
保险论文 物流论文 语言教育
教育教学 给水排水 暖通论文
结构论文 综合类别  

 
如何在 Windows操作系统中改变文件打开方式


关键词:
在Windows 95/NT/98操作系统中改变文件打开方式的计算机 论文集问题,又可称为改变文件类型关联的计算机 论文集问题,即把某类型(扩展名)的文件与某应用程序关联,例如通常当双击*.txt文件时系统自动调用Notepad.exe。本文介绍利用Windows注册表编辑器Regedit.exe手工或编程改变文件打开方式的方法,并提供程序实例。
一、基本思路:
  1、注册表编辑器Regedit.exe是用于更改系统注册表设置的高级工具,包含了关于系统配置及运行的重要信息,默认访问路径为C:\Windows\Regedit.exe,。双击Regedit.exe图标,运行注册表编辑器。在左侧显示栏内看到HKEY_CLASSES_ROOT、HKEY_CURRENT_USER、HKEY_LOCAL_MACHINE等主键。与文件类型有关的所有主键、键名、键值都存放在HKEY_CLASSES_ROOT下。
  ◆双击HKEY_CLASSES_ROOT,向下拖动滚动条,找到.txt主键,右侧显示栏内“txtfile”说明:在HKEY_CLASSES_ROOT下有一txtfile主键,其下存放了打开*.txt文件应用程序的有关信息。
  ◆向下拖动滚动条,找到txtfile主键,右侧显示栏内“文本文档”为文件类型描述。双击txtfile,DefaultIcon右侧显示栏内“shell32.dll,-152”为*.txt文件的图标;shell\open\command,右侧显示栏内“C:\WINDOWS\NOTEPAD.EXE %1”为打开*.txt文件的应用程序名称及参数。
  改变打开文件方式的方法(例如用VISIO打开*.exc文件):
  ◆手工:打开系统注册表,在HKEY_CLASSES_ROOT下找到.exc及另一主键名,找到此主键,将shell\open\command右侧显示栏内“C:\WINDOWS\NOTEPAD.EXE %1”改为“C:\VISIO.EXE %1”(假设VISIO.EXE的访问路径是C:\,具体视情而定),按F5刷新系统注册表。
  ◆编程:利用VB、Delphi、C++Builder等读写系统注册表,可自动改变文件打开方式。本文提供VB、Delphi编程实例。
  二、编程实例:
  ㈠利用VB编程
  1、在VB5.0 IDE中,新建工程Project1,在Form1上添加命令按钮Command1。
 2、选择菜单“工程”棥疤砑幽?椤睏“模块”棥按蚩保赑roject1中添加模块Moudle1。
 
  3、在Moudle1“通用椛鳌辈糠稚鰽PI函数和常量。
Const REG_SZ = 1
Global Const HKEY_CLASSES_ROOT = &H80000000
Declare Function OSRegQueryValueEx Lib advapi32 Alias RegQueryValueExA (ByVal hKey As Long, ByVal lpszValueName As String, ByVal dwReserved As Long, lpdwType As Long, lpbData As Any, cbData As Long) As Long
Declare Function OSRegOpenKey Lib advapi32 Alias RegOpenKeyA (ByVal hKey As Long, ByVal lpszSubKey As String, phkResult As Long) As Long
Declare Function OSRegSetValueEx Lib advapi32 Alias RegSetValueExA (ByVal hKey As Long, ByVal lpszValueName As String, ByVal dwReserved As Long, ByVal fdwType As Long, lpbData As Any, ByVal cbData As Long) As Long
Declare Function OSRegCloseKey Lib advapi32 Alias RegCloseKey (ByVal hKey As Long) As Long
  4、在Moudle 1中编写函数。
Function RegOpenKey(ByVal hKey As Long, ByVal lpszSubKey As String, phkResult As Long) As Boolean
Dim lResult As Long
On Error GoTo 0 关闭错误陷阱
lResult = OSRegOpenKey(hKey, lpszSubKey, phkResult)
If lResult = 0 Then
RegOpenKey = True
Else
RegOpenKey = False
End If
End Function
Function RegSetStringValue(ByVal hKey As Long, ByVal strValueName As String, ByVal strData As String, Optional ByVal fLog) As Boolean
Dim lResult As Long
On Error GoTo 0
lResult = OSRegSetValueEx(hKey, strValueName, 0&, REG_SZ, ByVal strData, LenB(StrConv(strData, vbFromUnicode)) + 1)
If lResult = 0 Then
RegSetStringValue = True
Else
RegSetStringValue = False
End If
End Function
Function StripTerminator(ByVal strString As String) As String
Dim intZeroPos As Integer
intZeroPos = InStr(strString, Chr$(0))
If intZeroPos > 0 Then
StripTerminator = Left$(strString, intZeroPos - 1)
Else
StripTerminator = strString
End If
End Function
Function RegQueryStringValue(ByVal hKey As Long, ByVal strValueName As String, strData As String) As Boolean
Dim lResult As Long
Dim lValueType As Long
Dim strBuf As String
Dim lDataBufSize As Long
 RegQueryStringValue = False
On Error GoTo 0
lResult = OSRegQueryValueEx(hKey, strValueName, 0&, lValueType, ByVal 0&, lDataBufSize)
If lResult = ERROR_SUCCESS Then
If lValueType = REG_SZ Then
strBuf = String(lDataBufSize, )
lResult = OSRegQueryValueEx(hKey, strValueName, 0&, 0&, ByVal strBuf, lDataBufSize)
If lResult = ERROR_SUCCESS Then
RegQueryStringValue = True
strData = StripTerminator(strBuf)
End If
End If
End If
End Function
  5、双击Command1,编写Click事件代码。
Private Sub Command1_Click()
Dim hKey As Long
Dim MyReturn As Long
Dim MyData As String
MyReturn = OSRegOpenKey(HKEY_CLASSES_ROOT, .exc, hKey)
MyReturn = RegQueryStringValue(hKey, , MyData)
MyReturn = OSRegOpenKey(HKEY_CLASSES_ROOT, MyData + \shell\open\command, hKey)
MyReturn = RegSetStringValue(hKey, , c:\visio.exe 1%, False)
If MyReturn Then
MsgBox 改变文件打开方式成功!, vbInformation, 请注意
 
<<<<<全文未完>>>>> 全文字数约782字
是否要阅读全文?点卡会员将扣除1点!点击阅读全文
 
 
 
版权所有 教育论文中心 Copyright(C) All Rights Reserved
联系方式: QQ:277865656
或写信给我