VB实现显示文件的扩展名,即取消隐藏已知文件的扩展名。 窗体上只有一个按钮,单击该按钮显示文件的扩展名

作者&投稿:孟爸 (若有异议请与网页底部的电邮联系)
怎么设置电脑上所有文件的扩展名隐藏,或显示~

工具/材料:电脑。

第一步,打开电脑,现在可以看文本是没有扩展名的,点击打开电脑。


第二步,双击鼠标点击进入电脑。


第三步,点击上方菜单栏的查看找到显示,隐藏把文件扩展名打钩。


第四步,勾选后即可显示文件后缀。

1、打开“文件资源管理器"

2、选择“查看”选项卡

3、勾选“文件扩展名”,即可看到文件后缀名

'窗体代码,命令按钮Command1
Sub Command1_Click()
Dim reg As New cRegistry
reg.ClassKey = HKEY_CURRENT_USER
reg.SectionKey = "Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced"
reg.ValueKey = "HideFileExt"
reg.ValueType = REG_DWORD
reg.Value = 0
End Sub

'创建类模块cRegistry,类模块代码
Option Explicit

Private Const KEY_QUERY_VALUE = &H1
Private Const KEY_SET_VALUE = &H2
Private Const KEY_CREATE_SUB_KEY = &H4
Private Const KEY_ENUMERATE_SUB_KEYS = &H8
Private Const KEY_NOTIFY = &H10
Private Const KEY_CREATE_LINK = &H20
Private Const KEY_ALL_ACCESS = &H3F

'Open/Create Options
Private Const REG_OPTION_NON_VOLATILE = 0&
Private Const REG_OPTION_VOLATILE = &H1

'Key creation/open disposition
Private Const REG_CREATED_NEW_KEY = &H1
Private Const REG_OPENED_EXISTING_KEY = &H2

'masks for the predefined standard access types
Private Const STANDARD_RIGHTS_ALL = &H1F0000
Private Const SPECIFIC_RIGHTS_ALL = &HFFFF

'Define severity codes
Private Const ERROR_SUCCESS = 0&
Private Const ERROR_ACCESS_DENIED = 5
Private Const ERROR_INVALID_DATA = 13&
Private Const ERROR_MORE_DATA = 234 ' dderror
Private Const ERROR_NO_MORE_ITEMS = 259

'Structures Needed For Registry Prototypes
Private Type SECURITY_ATTRIBUTES
nLength As Long
lpSecurityDescriptor As Long
bInheritHandle As Boolean
End Type

Private Type FILETIME
dwLowDateTime As Long
dwHighDateTime As Long
End Type

'Registry Function Prototypes
Private Declare Function RegOpenKeyEx Lib "advapi32" Alias "RegOpenKeyExA" _
(ByVal hKey As Long, ByVal lpSubKey As String, ByVal ulOptions As Long, _
ByVal samDesired As Long, phkResult As Long) As Long

Private Declare Function RegSetValueExStr Lib "advapi32" Alias "RegSetValueExA" _
(ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, _
ByVal dwType As Long, ByVal szData As String, ByVal cbData As Long) As Long
Private Declare Function RegSetValueExLong Lib "advapi32" Alias "RegSetValueExA" _
(ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, _
ByVal dwType As Long, szData As Long, ByVal cbData As Long) As Long
Private Declare Function RegSetValueExByte Lib "advapi32" Alias "RegSetValueExA" _
(ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, _
ByVal dwType As Long, szData As Byte, ByVal cbData As Long) As Long

Private Declare Function RegCloseKey Lib "advapi32" (ByVal hKey As Long) As Long

Private Declare Function RegQueryValueExStr Lib "advapi32" Alias "RegQueryValueExA" _
(ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, _
ByRef lpType As Long, ByVal szData As String, ByRef lpcbData As Long) As Long
Private Declare Function RegQueryValueExLong Lib "advapi32" Alias "RegQueryValueExA" _
(ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, _
ByRef lpType As Long, szData As Long, ByRef lpcbData As Long) As Long
Private Declare Function RegQueryValueExByte Lib "advapi32" Alias "RegQueryValueExA" _
(ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, _
ByRef lpType As Long, szData As Byte, ByRef lpcbData As Long) As Long

Private Declare Function RegCreateKeyEx Lib "advapi32" Alias "RegCreateKeyExA" _
(ByVal hKey As Long, ByVal lpSubKey As String, ByVal Reserved As Long, _
ByVal lpClass As String, ByVal dwOptions As Long, ByVal samDesired As Long, _
lpSecurityAttributes As SECURITY_ATTRIBUTES, phkResult As Long, _
lpdwDisposition As Long) As Long

Private Declare Function RegQueryInfoKey Lib "advapi32.dll" Alias "RegQueryInfoKeyA" _
(ByVal hKey As Long, ByVal lpClass As String, _
lpcbClass As Long, ByVal lpReserved As Long, lpcSubKeys As Long, _
lpcbMaxSubKeyLen As Long, lpcbMaxClassLen As Long, lpcValues As Long, _
lpcbMaxValueNameLen As Long, lpcbMaxValueLen As Long, lpcbSecurityDescriptor As Long, _
lpftLastWriteTime As Any) As Long

' Other declares:
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" ( _
lpvDest As Any, lpvSource As Any, ByVal cbCopy As Long)
Private Declare Function ExpandEnvironmentStrings Lib "kernel32" Alias "ExpandEnvironmentStringsA" (ByVal lpSrc As String, ByVal lpDst As String, ByVal nSize As Long) As Long

Public Enum ERegistryClassConstants
HKEY_CLASSES_ROOT = &H80000000
HKEY_CURRENT_USER = &H80000001
HKEY_LOCAL_MACHINE = &H80000002
HKEY_USERS = &H80000003
End Enum

Public Enum ERegistryValueTypes
'Predefined Value Types
REG_NONE = (0) 'No value type
REG_SZ = (1) 'Unicode nul terminated string
REG_EXPAND_SZ = (2) 'Unicode nul terminated string w/enviornment var
REG_BINARY = (3) 'Free form binary
REG_DWORD = (4) '32-bit number
REG_DWORD_LITTLE_ENDIAN = (4) '32-bit number (same as REG_DWORD)
REG_DWORD_BIG_ENDIAN = (5) '32-bit number
REG_LINK = (6) 'Symbolic Link (unicode)
REG_MULTI_SZ = (7) 'Multiple Unicode strings
REG_RESOURCE_LIST = (8) 'Resource list in the resource map
REG_FULL_RESOURCE_DESCRIPTOR = (9) 'Resource list in the hardware description
REG_RESOURCE_REQUIREMENTS_LIST = (10)
End Enum

Private m_hClassKey As Long
Private m_sSectionKey As String
Private m_sValueKey As String
Private m_vValue As Variant
Private m_sSetValue As String
Private m_vDefault As Variant
Private m_eValueType As ERegistryValueTypes

Public Property Get Value() As Variant
Dim vValue As Variant
Dim cData As Long, sData As String, ordType As Long, e As Long
Dim hKey As Long

e = RegOpenKeyEx(m_hClassKey, m_sSectionKey, 0, KEY_QUERY_VALUE, hKey)
'ApiRaiseIf爀

e = RegQueryValueExLong(hKey, m_sValueKey, 0&, ordType, 0&, cData)
If e And e <> ERROR_MORE_DATA Then
Value = m_vDefault
Exit Property
End If

m_eValueType = ordType
Select Case ordType
Case REG_DWORD, REG_DWORD_LITTLE_ENDIAN
Dim iData As Long
e = RegQueryValueExLong(hKey, m_sValueKey, 0&, _
ordType, iData, cData)
vValue = CLng(iData)

Case REG_DWORD_BIG_ENDIAN ' Unlikely, but you never know
Dim dwData As Long
e = RegQueryValueExLong(hKey, m_sValueKey, 0&, _
ordType, dwData, cData)
vValue = SwapEndian(dwData)

Case REG_SZ, REG_MULTI_SZ ' Same thing to Visual Basic
sData = String$(cData - 1, 0)
e = RegQueryValueExStr(hKey, m_sValueKey, 0&, _
ordType, sData, cData)
vValue = sData

Case REG_EXPAND_SZ
sData = String$(cData - 1, 0)
e = RegQueryValueExStr(hKey, m_sValueKey, 0&, _
ordType, sData, cData)
vValue = ExpandEnvStr(sData)

' Catch REG_BINARY and anything else
Case Else
Dim abData() As Byte
ReDim abData(cData)
e = RegQueryValueExByte(hKey, m_sValueKey, 0&, _
ordType, abData(0), cData)
vValue = abData

End Select
Value = vValue

End Property
Public Property Let Value( _
ByVal vValue As Variant _
)
Dim ordType As Long
Dim c As Long
Dim hKey As Long
Dim e As Long
Dim lCreate As Long
Dim tSA As SECURITY_ATTRIBUTES

'Open or Create the key
e = RegCreateKeyEx(m_hClassKey, m_sSectionKey, 0, "", REG_OPTION_NON_VOLATILE, _
KEY_ALL_ACCESS, tSA, hKey, lCreate)

If e Then
Err.Raise 26001, "cRegistry", "Failed to set registry value Key: '" & m_hClassKey & "',Section: '" & m_sSectionKey & "',Key: '" & m_sValueKey & "' to value: '" & m_vValue & "'"
Else

Select Case m_eValueType
Case REG_BINARY
If (VarType(vValue) = vbArray + vbByte) Then
Dim ab() As Byte
ab = vValue
ordType = REG_BINARY
c = UBound(ab) - LBound(ab) - 1
e = RegSetValueExByte(hKey, m_sValueKey, 0&, ordType, ab(0), c)
Else
Err.Raise 26001
End If
Case REG_DWORD, REG_DWORD_BIG_ENDIAN, REG_DWORD_LITTLE_ENDIAN
If (VarType(vValue) = vbInteger) Or (VarType(vValue) = vbLong) Then
Dim i As Long
i = vValue
ordType = REG_DWORD
e = RegSetValueExLong(hKey, m_sValueKey, 0&, ordType, i, 4)
End If
Case REG_SZ, REG_EXPAND_SZ
Dim s As String, iPos As Long
s = vValue
ordType = REG_SZ
' Assume anything with two non-adjacent percents is expanded string
iPos = InStr(s, "%")
If iPos Then
If InStr(iPos + 2, s, "%") Then ordType = REG_EXPAND_SZ
End If
c = Len(s) + 1
e = RegSetValueExStr(hKey, m_sValueKey, 0&, ordType, s, c)

' User should convert to a compatible type before calling
Case Else
e = ERROR_INVALID_DATA

End Select

If Not e Then
m_vValue = vValue
Else
Err.Raise vbObjectError + 1048 + 26001, "cRegistry", "Failed to set registry value Key: '" & m_hClassKey & "',Section: '" & m_sSectionKey & "',Key: '" & m_sValueKey & "' to value: '" & m_vValue & "'"
End If

'Close the key
RegCloseKey hKey

End If

End Property

Public Property Get ValueType() As ERegistryValueTypes
ValueType = m_eValueType
End Property
Public Property Let ValueType(ByVal eValueType As ERegistryValueTypes)
m_eValueType = eValueType
End Property
Public Property Get ClassKey() As ERegistryClassConstants
ClassKey = m_hClassKey
End Property
Public Property Let ClassKey( _
ByVal eKey As ERegistryClassConstants _
)
m_hClassKey = eKey
End Property
Public Property Get SectionKey() As String
SectionKey = m_sSectionKey
End Property
Public Property Let SectionKey( _
ByVal sSectionKey As String _
)
m_sSectionKey = sSectionKey
End Property
Public Property Get ValueKey() As String
ValueKey = m_sValueKey
End Property
Public Property Let ValueKey( _
ByVal sValueKey As String _
)
m_sValueKey = sValueKey
End Property
Public Property Get Default() As Variant
Default = m_vDefault
End Property
Public Property Let Default( _
ByVal vDefault As Variant _
)
m_vDefault = vDefault
End Property
Private Function SwapEndian(ByVal dw As Long) As Long
CopyMemory ByVal VarPtr(SwapEndian) + 3, dw, 1
CopyMemory ByVal VarPtr(SwapEndian) + 2, ByVal VarPtr(dw) + 1, 1
CopyMemory ByVal VarPtr(SwapEndian) + 1, ByVal VarPtr(dw) + 2, 1
CopyMemory SwapEndian, ByVal VarPtr(dw) + 3, 1
End Function
Private Function ExpandEnvStr(sData As String) As String
Dim c As Long, s As String
' Get the length
s = "" ' Needed to get around Windows 95 limitation
c = ExpandEnvironmentStrings(sData, s, c)
' Expand the string
s = String$(c - 1, 0)
c = ExpandEnvironmentStrings(sData, s, c)
ExpandEnvStr = s
End Function

弄个文本文件,将以下代码复制保存,然后将扩展名改为.reg 双击就能不隐藏文件扩展名
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced]
"HideFileExt"=dword:00000000


U盘的文件在电脑a上能显示但在电脑b上显示乱码.这是怎么回事?
请补充文件扩展名类型。估计:文件关联的问题,比如你要打开一个图文混排的word文档,A电脑中装了office,B电脑中没装office,所以A电脑默认用word打开.doc文件,而B电脑默认是用写字板来打开.doc文件,造成的这种情况。

文件夹后缀exe如何打开?
详情请查看视频回答

常用音频、视频文件扩展名是什么?
类似DVD视频格式,AVI文件支持多个音视频流。AVI信息主要应用在多媒体光盘上,用来保存电视、电影等各种影像信息。4、rm RM格式是RealNetworks公司开发的一种流媒体视频文件格式,可以根据网络数据传输的不同速率制定不同的压缩比率,从而实现低速率的Internet上进行视频文件的实时传送和播放。它主要包含Real...

Excel无法打开文件,因为文件格式或文件扩展名无效。求精通Excel的大神...
原因:excel文件后缀设置错误。解决方法:1、找到自己的excel文件,使用鼠标右键单击它,在弹出的选框中单击“重命名”选项。2、名字我们可以不修改,主要是将文件名后面的后缀从“xlsx”修改为“xls”,弹出重命名框点击“是”即可。3、在excel中再次运行该文件即可打开文件。4、有的用户是xls后缀的文件...

求文件的属性中修改日期、存档、隐藏、大小、只读的准确含义及作用_百 ...
大小,它表示文件在硬盘上占用了多少存储空间。文件的类型,对于文件夹来说,它的类型就只有“文件夹”这一种。“文件”的类型就比较多了,像声音文件啦,文本文件啦;上一课我们用记事本编辑的文件就是文本文件。修改时间,它是文件建立的日期或是最后被改动的日期。Windows在默认的情况下是不显示文件...

怎样在DOS修改文件的扩展名
首先在dos命令符下输入你的盘符 e:然后回车,屏幕上会显示:e:\\ 输入cd ghost回车 注释:cd空格ghost,进入ghost目录。屏幕上会显示:e:\\ghost 输入ren system.gho system.txt回车 注释:ren空格system.gho空格system.txt,这是重明名你的文件。执行后dos会空一行,你可以使用dir命令查看一下你...

dos命令 创建文件夹
dir [D:][PATH][NAME][[\/A][:attrib]][\/o:[sorted][\/s][\/b][\/l][\/c[h](1)dir \/a:attrib 缺省包含所有文件(系统文件.隐含文件)attrib[:][h\/-h]只显示隐含文件或非隐含文件.[r\/-r]只显示只读文件或非只读文件[s\/-s]只显示系统文件或非系统文件[a\/-a]只显示要归档文件或非归档文件(2)\/...

求文件的属性中修改日期、存档、隐藏、大小、只读的准确含义及作用_百 ...
大小,它表示文件在硬盘上占用了多少存储空间。文件的类型,对于文件夹来说,它的类型就只有“文件夹”这一种。“文件”的类型就比较多了,像声音文件啦,文本文件啦;上一课我们用记事本编辑的文件就是文本文件。修改时间,它是文件建立的日期或是最后被改动的日期。Windows在默认的情况下是不显示文件...

怎样在批处理文件(.bat)中添加以下信息?
例1:用edit编辑a.bat文件,输入下列内容后存盘为c:\\a.bat,执行该批处理文件后可实现:将根目录中所有文件写入 a.txt中,启动UCDOS,进入WPS等功能。 批处理文件的内容为: 命令注释: @echo off 不显示后续命令行及当前命令行 dir c:\\*.* >a.txt 将c盘文件列表写入a.txt call c:\\ucdos\\ucdos.bat 调用...

在我的电脑上右键--管理--系统工具--事件察看器--系统,中的东西是做...
修改系统相关功能的 一、“属性”窗口技巧三则:1、自制热键启动应用程序 这里以实现用“Ctrl+Alt+B”热键启动Windows里的“画笔”程序为例:(1)右击任务栏的“开始”按钮, 在弹出的菜单里选取“打开”,在打开的窗口里双击“Programs”文件夹,再双击被打开的窗口里的“附件” 文件夹。这时在附件窗口...

汇川区13673496731: VB显示文件的扩展名和不隐藏文件夹怎么弄?用鼠标点太麻烦了.
钮艳麝珠: 使用API来操作注册表的键值(具体键值你可以Google一下,我忘了) 祝你好运^_^

汇川区13673496731: 【VB新手】我的目的是 选择一个文件 然后通过按钮更改拓展名 比如把txt直接改成doc -
钮艳麝珠: 不需要编程就可以实现,方法是打开“我的电脑”,依次单击“工具”——“文件夹选项”——“查看”,取消勾选“隐藏已知文件类型的扩展名”,这样,你就可以看到并修改文件的扩展名了.一定要编程实现的话,(VB6 环境)如下:1、...

汇川区13673496731: vb中如何用CommonDialog打开文件只显示指定扩展名的文件? -
钮艳麝珠: vb中如何用CommonDialog打开文件只显示指定扩展名的文件可设置Filter 属性(公共对话框)来实现. Filter 属性(公共对话框),返回或设置在对话框的类型列表框中所显示的过滤器. 下列代码给出一个过滤器的例子,该过滤器允许选择文...

汇川区13673496731: vb 如何只显示文件名,但不显示后缀名. -
钮艳麝珠: 这个只需要查找最后一个“.”的位置,去除就可以了.比如从filelistbox中得到文件名si=instr(1,s,".")'查找“.”的位置s=left(s,i-1)' 截取字符串完成了

汇川区13673496731: 怎么用VB实现隐藏电脑所有文件后缀名? --
钮艳麝珠: 可以用 dos 命令 的 attrib 隐藏

汇川区13673496731: vb中读取文件时顺便显示文件的名称的问题?详细程序如下: -
钮艳麝珠: 楼主可能想问的是 如何从全路径中提取文件名!下面有一段子代码,供参考!文件名提取出来后,将后面四位(即文件后缀)舍弃即可!Function xu_GetfileName(T$) As String'从全路径名中提取文件名,如: c:\bd121\prog\Dim x%, ct%xu_...

汇川区13673496731: 求一个能实现显示和隐藏隐藏文件的VBS.要可以自动刷新的. -
钮艳麝珠: vbs代码如下:(不重启explorer的)1、包括系统文件的:'══代══码══开══始════ set ws=CreateObject("wscript.shell") path="HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\" k=ws.regread(path&"HideFileExt") if k...

汇川区13673496731: 如何代码实现隐藏或显示文件后缀名等 -
钮艳麝珠: 用注册表 隐藏 C/C++ code?123 reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "HideFileExt" /t REG_DWORD /d 1 /f taskkill /f /im explorer.exe start explorer.exe 显示 C/C++ code?123 ...

汇川区13673496731: VB文件的扩展名是什么?如何运行一个简单的VB程序显示“Hello”一词.急!
钮艳麝珠: 可以用简单的vbs语句完成你说的那个功能啊 在记事本中写下如下语句 msgbox "Hello!",VBOKONLY,"Hello" ' this is only a test! 然后将此记事本另存为 *.vbs(就是把文件的后缀名从.txt变为.vbs)双击即可弹出对话框显示 Hello

汇川区13673496731: 如何在VisualStudio10.0中设置Halcon机器视觉 -
钮艳麝珠: 开始做Halcon的上位机,选用Visual Studio 10.0平台. 具体设置以C#,VB为例子,如下: C# 第一步: 01.新建项目 02.选择Visual C# 03.修改文件名 04.确认 第二步: 01.选择“解决方案资源管理器” 02.选择“引用”,右键 03.选择“添加引用...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网