



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、VB创建自定义文件后缀名,并改变其默认图标及打开方式VB创建自定义文件后缀名,并改变其默认图标及打开方式2010-11-30 11:43网上下的一个程序,可以用它来打造自己的工程品牌!这里我把原代码贴出,希望对大家有所帮助!标准模块:General.bas Attribute VB_Name="General"Public Const REG_SZ=1 Global Const HKEY_CLASSES_ROOT=&H 80000000 Public Declare Function RegCreateKey Lib"advapi32.dll"A
2、lias"RegCreateKeyA"(ByVal hKey As Long,ByVal lpSubKey As String,phkResult As Long)As Long Declare Function RegQueryValueEx Lib"advapi32"Alias"RegQueryValueExA"(ByVal hKey As Long,ByVal lpszValueName As String,ByVal dwReserved As Long,lpdwType As Long,lpbData As Any,cbDa
3、ta As Long)As Long Declare Function RegOpenKey Lib"advapi32"Alias"RegOpenKeyA"(ByVal hKey As Long,ByVal lpszSubKey As String,phkResult As Long)As Long Declare Function RegSetValueEx Lib"advapi32.dll"Alias"RegSetValueExA"(ByVal hKey As Long,ByVal lpValueName As
4、 String,ByVal Reserved As Long,ByVal dwType As Long,lpData As Any,ByVal cbData As Long)As Long'Note that if you declare the lpData parameter as String,you mu st pass it By Value.Declare Function RegCloseKey Lib"advapi32"(ByVal hKey As Long)As Long Public Declare Function GetSystemDirec
5、tory Lib"kernel32"Alias"GetSystemDirectoryA"(ByVal lpBuffer As String,ByVal nSize As Long)As Long Public 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 0lResult=
6、RegSetValueEx(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 Public Function StripTerminator(ByVal strString As String)As String Dim intZeroPos As Integer intZeroPos=InStr
7、(strString,Chr$(0)If intZeroPos 0Then StripTerminator=Left$(strString,intZeroPos-1)Else StripTerminator=strString End If End Function Public Function RegQueryStringValue(B yVal hKey As Long,ByVal strValueName As String,_ strData As String)As Boolean Dim lResult As Long Dim lValueType As Long Dim str
8、Buf As String Dim lDataBufSize As Long RegQueryStringValue=False On Error GoTo 0lResult=RegQueryValueEx(hKey,strValueName,0&,lValueType,ByVal 0&,_ lDataBufSize)If lResult=ERROR_SUCCESS Then If lValueType=REG_SZ Then strBuf=String(lDataBufSize,"")lResult=RegQueryValueEx(hKey,strValu
9、eName,0&,0&,ByVal strBuf,_ lDataBufSize)If lResult=ERROR_SUCCESS Then RegQueryStringValue=True strData=StripTerminator(strBuf)End If End If End If End Function窗体模块:FrmMain.frm VERSION 5.00 Begin VB.Form FrmMain Caption="Form1"ClientHeight=3195 Clien tLeft=60 ClientTop=345 ClientWid
10、th=4680 LinkTopic="Form1"ScaleHeight=3195 ScaleWidth=4680 StartUpPosition=3'窗口缺省Begin VB.CommandButton Command1 Caption="Command1"Height=375 Left=1800 TabIndex=0 Top=2400 Width=1215 End Begin VB.Label Label1 Caption="启动时,在注册表里产生名为mjf的后缀类型。点击command1按钮,如果成功,其打开方式将变为使用note
11、pad.exe打开,图标也发生改变。"Height=810 Left=855 TabIndex=1 Top=435 Width=2940 End End Attribute VB_Name="FrmMain"Attribute VB_GlobalNameSpace=False Attribute VB_Creatable=False Attribute VB_PredeclaredId=True Attribute VB_Exposed=False Dim mSysPath As String Private Sub Command1_Click()Dim hKe
12、y As Long Dim MyReturn As Long Dim MyData As String MyReturn=RegOpenKey(HKEY_CLASSES_ROOT,".mjf",hKey)MyReturn=RegQueryStringValue(hKey,"",MyData)MyReturn=RegOpenKey(HKEY_CLASSES_ROOT,MyData+"shellopencommand",hKey)MyReturn=RegSetStringValue(hKey,"",mSysPath&a
13、mp;"notepad.exe%1",False)If MyReturn Then MsgBox"改变文件打开方式成功!",vbInformation,"请注意"Else MsgBox"改变文件打开方式失败!",vbExclamation,"请注意"End If MyReturn=RegOpenKey(HKEY_CLASSES_ROOT,MyData+"DefaultIcon",hKey)MyReturn=RegSetStringValue(hKey,""
14、,mSysPath&"shell32.dll,-151",False)If MyReturn Then MsgBox"改变图标成功",vbInformation,"提示"Else MsgBox"改变图标失败",vbExclamation,"提示"End If RegCloseKey(hKey)End Sub Private Sub Form_Load()Dim Length As Integer mSysPath=Space$(125)Call GetSystemDirectory(mS
15、ysPath,125)mSysPath=StripTerminator(mSysPath)Dim KeyId As Long Call RegCreateKey(HKEY_CLASSES_ROOT,".mjf",KeyId)Call RegSetValueEx(KeyId,"",0&,REG_SZ,ByVal"mjffile",Len("mjffile")+1)Dim KeyId1 As Long Call RegCreateKey(HKEY_CLASSES_ROOT,"mjffile"
16、,KeyId1)Call RegSetValueEx(KeyId1,"",0&,REG_SZ,ByVal"自定义类型",LenB("自定义类型")+1)Dim KeyId2 As Long Call RegCreateKey(KeyId1,"DefaultIcon",KeyId2)Call RegSetValueEx(KeyId2,"",0&,REG_SZ,ByVal mSysPath&"shell32.dll-5",Len(mSysPath&"shell32.dll-5")+1)Dim KeyId3 As Long Call RegCreateKey(KeyId1,"Shell",KeyId3)Dim KeyId4 As Long Call RegCreateKey(KeyId3,"Open",KeyId4)Dim KeyId5 As Long Cal
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 果桑绿色高效栽培技术
- 淮北地区耕地质量与小麦玉米周年产能协同提升技术
- 主要农作物化学农药减量增效技术
- 生物信息学的发展与应用前景试题及答案
- 关键考点:2024年CPMM试题及答案
- 2025重症医学科的血小板减少症诊断和管理
- 高效学习的方法论CPMM试题及答案
- 突围方案2024年国际物流师试题与答案
- 餐饮美学基础 课件 2.2色彩审美
- 考点24电化学原理的综合应用(核心考点精讲精练)-备战2025年高考化学一轮复习考点帮(新高考)(原卷版)
- 热固性聚苯板施工方案
- 电梯主机轴承维修施工方案
- 三年级下册口算天天100题(A4打印版)
- 统编版语文四年级下册第四单元教材解读解读与集体备课课件
- 幕墙开启扇维修施工方案
- 销售团队就该这样管:五星评定销售管理实战指南
- 餐饮服务单位食品安全主体责任清单
- 2023年电力二十五项重点反事故措施考试题库(浓缩500题)
- 机械零件的修复技术概述课件
- 辐射与防护学习通课后章节答案期末考试题库2023年
- 第七章-民族乐派与印象主义-2课件
评论
0/150
提交评论