VB6轻松读写Mifare ClassIc芯片NDEF标签源码

2024-02-01 12:10

本文主要是介绍VB6轻松读写Mifare ClassIc芯片NDEF标签源码,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

       NDEF 全称 NFC data exchange format 即 nfc 数据交换格式,是一种标准化的数据格式,可用于在任何兼容的NFC设备与另一个NFC设备或标签之间交换信息。数据格式由NDEF消息和NDEF记录组成。

      NDEF信息可以写到不同类型的NFC芯片中,如Ntag系列芯片标、15693系列芯片、MifareClassic系列芯片、Forum_Type4_Tag标签等,不同类型的芯片NDEF信息的存储方式也略有不同,这就大大增加了NDEF信息写入、读取的难度。

        广州荣士电子将各种不同类型的NDEF记录类型的写入、读取方式都函数化,开发人员不需再了解复杂的NDEF记录格式,只需调用相应的函数就可快速写入正确的NDEF信息。

 本示例使用的发卡器:Android Linux RFID读写器NFC发卡器WEB可编程NDEF文本/智能海报/-淘宝网 (taobao.com) 

一、NDEF函数声明 
Public Declare Function piccclear_ndeftag Lib "OUR_MIFARE.dll" (ByVal ctrlword As Byte, ByRef serial As Byte, ByRef oldkey As Byte) As BytePublic Declare Function piccwrite_ndeftag Lib "OUR_MIFARE.dll" (ByVal ctrlword As Byte, ByRef serial As Byte, ByRef oldkey As Byte, ByRef newkey As Byte) As BytePublic Declare Function piccread_ndeftag Lib "OUR_MIFARE.dll" (ByVal ctrlword As Byte, ByRef serial As Byte, ByRef oldkey As Byte) As BytePublic Declare Sub tagbuf_clear Lib "OUR_MIFARE.dll" ()Public Declare Function tagbuf_addtext Lib "OUR_MIFARE.dll" (ByVal languagecodestr As String, ByVal languagecodestrlen As Long, ByVal textstr As String, ByVal textstrlen As Long) As BytePublic Declare Function tagbuf_adduri Lib "OUR_MIFARE.dll" (ByVal languagecodestr As String, ByVal languagecodestrlen As Long, ByVal titlestr As String, ByVal titlestrlen As Long, ByVal uriheaderindex As Long, ByVal uristr As String, ByVal uristrlen As Long) As BytePublic Declare Function tagbuf_addbusinesscard Lib "OUR_MIFARE.dll" (ByVal infostr As String, ByVal infostrlen As Long) As BytePublic Declare Function tagbuf_addwifi Lib "OUR_MIFARE.dll" (ByVal ssidstr As String, ByVal ssidstrlen As Long, ByVal authtype As Long, ByVal crypttype As Long, ByVal keystr As String, ByVal keystrlen As Long) As BytePublic Declare Function tagbuf_addbluetooth Lib "OUR_MIFARE.dll" (ByVal blenamestr As String, ByVal blenamestrlen As Long, ByRef blemac As Byte) As BytePublic Declare Function tagbuf_addapp Lib "OUR_MIFARE.dll" (ByVal packagestr As String, ByVal packagestrlen As Long) As BytePublic Declare Function tagbuf_adddata Lib "OUR_MIFARE.dll" (ByVal typestr As String, ByVal typestrlen As Long, ByVal datastr As String, ByVal datastrlen As Long) As BytePublic Declare Sub tagbuf_read Lib "OUR_MIFARE.dll" (ByVal revstr As String, ByRef revstrlen As Long, ByRef recordnumber As Long)Public Declare Sub tagbuf_forumtype4_clear Lib "OUR_MIFARE.dll" ()Public Declare Function forumtype4request Lib "OUR_MIFARE.dll" (ByVal ctrlword As Byte, ByRef serial As Byte, ByRef seriallen As Byte) As BytePublic Declare Function forumtype4_write_ndeftag Lib "OUR_MIFARE.dll" (ByVal ctrlword As Byte, ByRef serial As Byte, ByRef seriallen As Byte, ByRef ndefwritekey As Byte) As BytePublic Declare Function forumtype4_read_ndeftag Lib "OUR_MIFARE.dll" (ByVal ctrlword As Byte, ByRef serial As Byte, ByRef seriallen As Byte, ByRef ndefreadkey As Byte) As Byte
二、写入NDEF文本类型标签
Dim mypiccserial(0 To 6) As Byte
Dim mypicckey(0 To 15) As Byte
Dim mypiccseriallen(1) As ByteDim oldpicckey(0 To 5) As Byte '需要认证的密码
Dim newpicckey(0 To 5) As Byte '需要认证的密码Dim dispstr As String
Dim status As Byte
Dim myctrlword As Byte
Dim languagecodestr As String
Dim languagecodestrlen As Long
Dim textstr As String
Dim textstrlen As Longlanguagecodestr = "en"
languagecodestrlen = 2textstr = Trim(Text1.Text)  '文本
textstrlen = LenB(StrConv(textstr, vbFromUnicode))CheckCardTypeIf CardType = 3 Then    'MifareClasstagbuf_clear    status = tagbuf_addtext(languagecodestr, languagecodestrlen, textstr, textstrlen)If (status = 0) Thenmyctrlword = &H80 + &H10status = piccwrite_ndeftag(myctrlword, mypiccserial(0), oldpicckey(0), newpicckey(0))dispstr = "MifareClassUid:" + cardstr + ",写入NDEF文本"dispriv dispstr, statusElsedispstr = "MifareClassUid:" + cardstr + ",生成NDEF文本数据"dispriv dispstr, statusEnd If
ElseIf CardType = 4 Then    'forumtype4tagbuf_forumtype4_clear    status = tagbuf_addtext(languagecodestr, languagecodestrlen, textstr, textstrlen)If (status = 0) Thenmyctrlword = 0      '0表示标签无密码,如设置密码取值  &H40 ,mypicckey 存放密码status = forumtype4_write_ndeftag(myctrlword, mypiccserial(0), mypiccseriallen(0), mypicckey(0))dispstr = "NFC_Forum_Type4_Tag卡:" + cardstr + ",写入NDEF文本"dispriv dispstr, statusElsedispstr = "NFC_Forum_Type4_Tag卡:" + cardstr + ",生成NDEF文本数据"dispriv dispstr, statusEnd If
End If
三、写入NDEF智能海报
Dim dispstr As String
Dim status As Byte
Dim myctrlword As Byte
Dim mypiccserial(0 To 6) As Byte
Dim mypicckey(0 To 15) As Byte
Dim mypiccseriallen(1) As ByteDim languagecodestr As String
Dim languagecodestrlen As Long
Dim titlestr As String
Dim titlestrlen As Long
Dim uriheaderindex As Long
Dim uristr As String
Dim uristrlen As Longlanguagecodestr = "en"      '语言编码,英文为en,中文为zh
languagecodestrlen = 2titlestr = Trim(Text4.Text)     '标题
titlestrlen = LenB(StrConv(titlestr, vbFromUnicode))uriheaderindex = Combo2.ListIndex   '链接前缀uristr = Trim(Text18.Text)  '链接
uristrlen = LenB(StrConv(uristr, vbFromUnicode))CheckCardTypeIf CardType = 3 Thentagbuf_clear    status = tagbuf_adduri(languagecodestr, languagecodestrlen, titlestr, titlestrlen, uriheaderindex, uristr, uristrlen)If (status = 0) Thenmyctrlword = &H80 + &H10status = piccwrite_ndeftag(myctrlword, mypiccserial(0), mypiccseriallen(0), mypicckey(0))dispstr = "MifareClassUid:" + cardstr + ",写入NDEF访问网址"dispriv dispstr, statusElsedispstr = "MifareClassUid:" + cardstr + ",生成NDEF访问网址数据"dispriv dispstr, statusEnd If
ElseIf CardType = 4 Thentagbuf_forumtype4_clear    status = tagbuf_adduri(languagecodestr, languagecodestrlen, titlestr, titlestrlen, uriheaderindex, uristr, uristrlen)If (status = 0) Thenmyctrlword = 0      '0表示标签无密码,如设置密码取值  &H40 ,mypicckey 存放密码status = forumtype4_write_ndeftag(myctrlword, mypiccserial(0), mypiccseriallen(0), mypicckey(0))dispstr = "NFC_Forum_Type4_Tag卡:" + cardstr + ",写入NDEF访问网址"dispriv dispstr, statusElsedispstr = "NFC_Forum_Type4_Tag卡:" + cardstr + ",生成NDEF访问网址数据"dispriv dispstr, statusEnd If
End If
四、写入NDEF地图座标 
Dim dispstr As String
Dim status As Byte
Dim myctrlword As ByteDim mypiccserial(0 To 6) As Byte
Dim mypicckey(0 To 15) As Byte
Dim mypiccseriallen(1) As ByteDim oldpicckey(0 To 5) As Byte '需要认证的密码
Dim newpicckey(0 To 5) As Byte '需要认证的密码Dim languagecodestr As String
Dim languagecodestrlen As Long
Dim titlestr As String
Dim titlestrlen As Long
Dim uriheaderindex As Long
Dim uristr As String
Dim uristrlen As Longlanguagecodestr = "en"      '语言编码,英文为en,中文为zh
languagecodestrlen = 2titlestr = Trim(Text6.Text)     '标题
titlestrlen = LenB(StrConv(titlestr, vbFromUnicode))uriheaderindex = 0      '地理位置没有链接前缀uristr = "geo:" & Trim(Text2.Text) & "," & Trim(Text3.Text) '地址位置
uristrlen = LenB(StrConv(uristr, vbFromUnicode))CheckCardTypeIf CardType = 3 Thentagbuf_clear    status = tagbuf_adduri(languagecodestr, languagecodestrlen, titlestr, titlestrlen, uriheaderindex, uristr, uristrlen)If (status = 0) Thenmyctrlword = &H80 + &H10status = piccwrite_ndeftag(myctrlword, mypiccserial(0), mypiccseriallen(0), mypicckey(0))dispstr = "MifareClassUid:" + cardstr + ",写入NDEF地图坐标"dispriv dispstr, statusElsedispstr = "MifareClassUid:" + cardstr + ",生成NDEF地图坐标数据"dispriv dispstr, statusEnd If
ElseIf CardType = 4 Thentagbuf_forumtype4_clearstatus = tagbuf_adduri(languagecodestr, languagecodestrlen, titlestr, titlestrlen, uriheaderindex, uristr, uristrlen)If (status = 0) Thenmyctrlword = 0      '0表示标签无密码,如设置密码取值  &H40 ,mypicckey 存放密码status = forumtype4_write_ndeftag(myctrlword, mypiccserial(0), mypiccseriallen(0), mypicckey(0))dispstr = "NFC_Forum_Type4_Tag卡:" + cardstr + ",写入NDEF地图坐标"dispriv dispstr, statusElsedispstr = "NFC_Forum_Type4_Tag卡:" + cardstr + ",生成NDEF地图坐标数据"dispriv dispstr, statusEnd If
End If
五、写入NDEF控制标签蓝牙连接 
Dim dispstr As String
Dim status As Byte
Dim myctrlword As ByteDim mypiccserial(0 To 6) As Byte
Dim mypicckey(0 To 15) As Byte
Dim mypiccseriallen(1) As ByteDim oldpicckey(0 To 5) As Byte '需要认证的密码
Dim newpicckey(0 To 5) As Byte '需要认证的密码Dim blenamestr As String
Dim blenamestrlen As Long
Dim blemac(0 To 5) As Byte '蓝牙MAC地址blenamestr = Trim(Text8.Text)
blenamestrlen = LenB(StrConv(blenamestr, vbFromUnicode))macstr = Split(Text9, ":")
blemac(0) = "&H" & macstr(0)
blemac(1) = "&H" & macstr(1)
blemac(2) = "&H" & macstr(2)
blemac(3) = "&H" & macstr(3)
blemac(4) = "&H" & macstr(4)
blemac(5) = "&H" & macstr(5)CheckCardTypeIf CardType = 3 Thentagbuf_clear    status = tagbuf_addbluetooth(blenamestr, blenamestrlen, blemac(0))If (status = 0) Thenmyctrlword = &H80 + &H10status = piccwrite_ndeftag(myctrlword, mypiccserial(0), oldpicckey(0), newpicckey(0))dispstr = "MifareClassUid:" + cardstr + ",写入NDEF蓝牙连接"dispriv dispstr, statusElsedispstr = "MifareClassUid:" + cardstr + ",生成NDEF蓝牙连接数据"dispriv dispstr, statusEnd If
ElseIf CardType = 4 Thentagbuf_forumtype4_clear    status = tagbuf_addbluetooth(blenamestr, blenamestrlen, blemac(0))If (status = 0) Thenmyctrlword = 0      '0表示标签无密码,如设置密码取值  &H40 ,mypicckey 存放密码status = forumtype4_write_ndeftag(myctrlword, mypiccserial(0), mypiccseriallen(0), mypicckey(0))dispstr = "NFC_Forum_Type4_Tag卡:" + cardstr + ",写入NDEF蓝牙连接"dispriv dispstr, statusElsedispstr = "NFC_Forum_Type4_Tag卡:" + cardstr + ",生成NDEF蓝牙连接数据"dispriv dispstr, statusEnd If
End If
六、写入NDEF控制标签连接WIFI热点 
Dim dispstr As String
Dim status As Byte
Dim myctrlword As ByteDim mypiccserial(0 To 6) As Byte
Dim mypicckey(0 To 15) As Byte
Dim mypiccseriallen(1) As ByteDim oldpicckey(0 To 5) As Byte '需要认证的密码
Dim newpicckey(0 To 5) As Byte '需要认证的密码Dim ssidstr As String
Dim ssidstrlen As LongDim authtype As Long
Dim crypttype As LongDim keystr As String
Dim keystrlen As Longssidstr = Trim(Text12.Text)    'WIFI名称
ssidstrlen = LenB(StrConv(ssidstr, vbFromUnicode))authtype = Combo3.ListIndex    '加密方式crypttype = Combo4.ListIndex    '加密算法keystr = Trim(Text11.Text)    '密码
keystrlen = LenB(StrConv(keystr, vbFromUnicode))CheckCardTypeIf CardType = 3 Thentagbuf_clear    status = tagbuf_addwifi(ssidstr, ssidstrlen, authtype, crypttype, keystr, keystrlen)If (status = 0) Thenmyctrlword = &H80 + &H10status = piccwrite_ndeftag(myctrlword, mypiccserial(0), oldpicckey(0), newpicckey(0))dispstr = "MifareClassUid:" + cardstr + ",写入NDEF无线热点连接"dispriv dispstr, statusElsedispstr = "MifareClassUid:" + cardstr + ",生成NDEF无线热点连接数据"dispriv dispstr, statusEnd If
ElseIf CardType = 4 Thentagbuf_forumtype4_clear    status = tagbuf_addwifi(ssidstr, ssidstrlen, authtype, crypttype, keystr, keystrlen)If (status = 0) Thenmyctrlword = 0      '0表示标签无密码,如设置密码取值  &H40 ,mypicckey 存放密码status = forumtype4_write_ndeftag(myctrlword, mypiccserial(0), mypiccseriallen(0), mypicckey(0))dispstr = "NFC_Forum_Type4_Tag卡:" + cardstr + ",写入NDEF无线热点连接"dispriv dispstr, statusElsedispstr = "NFC_Forum_Type4_Tag卡:" + cardstr + ",生成NDEF无线热点连接数据"dispriv dispstr, statusEnd If
End If
七、写入NDEF控制标签电子名片 
Dim dispstr As String
Dim status As Byte
Dim myctrlword As ByteDim mypiccserial(0 To 6) As Byte
Dim mypicckey(0 To 15) As Byte
Dim mypiccseriallen(1) As ByteDim oldpicckey(0 To 5) As Byte '需要认证的密码
Dim newpicckey(0 To 5) As Byte '需要认证的密码Dim infostr As String
Dim infostrlen As Long'名片信息
infostr = "BEGIN:VCARD" & Chr(10)
infostr = infostr & "VERSION:3.0" & Chr(10)
infostr = infostr & "FN:" & Trim(Text14.Text) & Chr(10)    '姓名
infostr = infostr & "TEL:" & Trim(Text13.Text) & Chr(10)    '电话
infostr = infostr & "ORG:" & Trim(Text15.Text) & Chr(10)    '单位名称
infostr = infostr & "ADR:" & Trim(Text19.Text) & Chr(10)    '地址
infostr = infostr & "EMAIL:" & Trim(Text16.Text) & Chr(10)    '邮箱
infostr = infostr & "URL:" & Trim(Text17.Text) & Chr(10)    '网址
infostr = infostr & "END:VCARD"infostrlen = LenB(StrConv(infostr, vbFromUnicode))CheckCardTypeIf CardType = 3 Thentagbuf_clear    status = tagbuf_addbusinesscard(infostr, infostrlen)   '可以写入多条记录If (status = 0) Thenmyctrlword = &H80 + &H10status = piccwrite_ndeftag(myctrlword, mypiccserial(0), oldpicckey(0), newpicckey(0))dispstr = "MifareClassUid:" + cardstr + ",写入NDEF电子名片"dispriv dispstr, statusElsedispstr = "MifareClassUid:" + cardstr + ",生成NDEF电子名片数据"dispriv dispstr, statusEnd If
ElseIf CardType = 4 Thentagbuf_forumtype4_clear    status = tagbuf_addbusinesscard(infostr, infostrlen)   '可以写入多条记录If (status = 0) Thenmyctrlword = 0      '0表示标签无密码,如设置密码取值  &H40 ,mypicckey 存放密码status = forumtype4_write_ndeftag(myctrlword, mypiccserial(0), mypiccseriallen(0), mypicckey(0))dispstr = "NFC_Forum_Type4_Tag卡:" + cardstr + ",写入NDEF电子名片"dispriv dispstr, statusElsedispstr = "NFC_Forum_Type4_Tag卡:" + cardstr + ",生成NDEF电子名片数据"dispriv dispstr, statusEnd If
End If
八、写入NDEF控制标签呼叫电话 
Dim dispstr As String
Dim status As Byte
Dim myctrlword As ByteDim mypiccserial(0 To 6) As Byte
Dim mypicckey(0 To 15) As Byte
Dim mypiccseriallen(1) As ByteDim oldpicckey(0 To 5) As Byte '需要认证的密码
Dim newpicckey(0 To 5) As Byte '需要认证的密码Dim languagecodestr As String
Dim languagecodestrlen As Long
Dim uristr As String
Dim uristrlen As Longlanguagecodestr = "en"      '语言编码,英文为en,中文为zh
languagecodestrlen = 2uristr = Trim(Text10.Text)  '呼叫电话
uristrlen = LenB(StrConv(uristr, vbFromUnicode))CheckCardTypeIf CardType = 3 Thentagbuf_clear    status = tagbuf_adduri(languagecodestr, languagecodestrlen, "", 0, 5, uristr, uristrlen)If (status = 0) Thenmyctrlword = &H80 + &H10status = piccwrite_ndeftag(myctrlword, mypiccserial(0), oldpicckey(0), newpicckey(0))dispstr = "MifareClassUid:" + cardstr + ",写入NDEF呼叫电话"dispriv dispstr, statusElsedispstr = "MifareClassUid:" + cardstr + ",生成NDEF呼叫电话数据"dispriv dispstr, statusEnd IfElseIf CardType = 4 Thentagbuf_forumtype4_clear    status = tagbuf_adduri(languagecodestr, languagecodestrlen, "", 0, 5, uristr, uristrlen)If (status = 0) Thenmyctrlword = 0      '0表示标签无密码,如设置密码取值  &H40 ,mypicckey 存放密码status = forumtype4_write_ndeftag(myctrlword, mypiccserial(0), mypiccseriallen(0), mypicckey(0))dispstr = "NFC_Forum_Type4_Tag卡:" + cardstr + ",写入NDEF呼叫电话"dispriv dispstr, statusElsedispstr = "NFC_Forum_Type4_Tag卡:" + cardstr + ",生成NDEF呼叫电话数据"dispriv dispstr, statusEnd If
End If
九、读取NDEF标签信息
Dim dispstr As String
Dim status As Byte
Dim mypiccserial(0 To 6) As Byte
Dim mypicckey(0 To 15) As Byte
Dim mypiccseriallen(1) As Byte
Dim myctrlword As Byte
Dim oldpicckey(0 To 5) As Byte '需要认证的密码Dim ndefstr As String
Dim revstrlen(1) As Long
Dim recordnumber(1) As LongCheckCardTypeIf CardType = 3 Thenmyctrlword = &H80 + &H10status = piccread_ndeftag(myctrlword, mypiccserial(0), oldpicckey(0))If (status = 0) Thenndefstr = String(2048, 0)tagbuf_read ndefstr, revstrlen(0), recordnumber(0)dispstr = "MifareClassUid:" + cardstr + ",读取卡内NDEF信息"dispriv dispstr, statusText22 = ndefstrElsedispstr = "MifareClassUid:" + cardstr + ",读取卡内NDEF信息"dispriv dispstr, statusEnd If
ElseIf CardType = 4 Thenmyctrlword = 0      '0表示标签无密码,如设置密码取值  &H40 ,mypicckey 存放密码status = forumtype4_read_ndeftag(myctrlword, mypiccserial(0), mypiccseriallen(0), mypicckey(0))If (status = 0) Thenndefstr = String(2048, 0)tagbuf_read ndefstr, revstrlen(0), recordnumber(0)dispstr = "NFC_Forum_Type4_Tag卡:" + cardstr + ",读取卡内NDEF信息"dispriv dispstr, statusText22 = ndefstrElsedispstr = "NFC_Forum_Type4_Tag卡:" + cardstr + ",读取卡内NDEF信息"dispriv dispstr, statusEnd If
End If

 

这篇关于VB6轻松读写Mifare ClassIc芯片NDEF标签源码的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/667233

相关文章

Maven pom.xml文件中build,plugin标签的使用小结

《Mavenpom.xml文件中build,plugin标签的使用小结》本文主要介绍了Mavenpom.xml文件中build,plugin标签的使用小结,文中通过示例代码介绍的非常详细,对大家的学... 目录<build> 标签Plugins插件<build> 标签<build> 标签是 pom.XML

HTML5中下拉框<select>标签的属性和样式详解

《HTML5中下拉框<select>标签的属性和样式详解》在HTML5中,下拉框(select标签)作为表单的重要组成部分,为用户提供了一个从预定义选项中选择值的方式,本文将深入探讨select标签的... 在html5中,下拉框(<select>标签)作为表单的重要组成部分,为用户提供了一个从预定义选项中

轻松上手MYSQL之JSON函数实现高效数据查询与操作

《轻松上手MYSQL之JSON函数实现高效数据查询与操作》:本文主要介绍轻松上手MYSQL之JSON函数实现高效数据查询与操作的相关资料,MySQL提供了多个JSON函数,用于处理和查询JSON数... 目录一、jsON_EXTRACT 提取指定数据二、JSON_UNQUOTE 取消双引号三、JSON_KE

Go Mongox轻松实现MongoDB的时间字段自动填充

《GoMongox轻松实现MongoDB的时间字段自动填充》这篇文章主要为大家详细介绍了Go语言如何使用mongox库,在插入和更新数据时自动填充时间字段,从而提升开发效率并减少重复代码,需要的可以... 目录前言时间字段填充规则Mongox 的安装使用 Mongox 进行插入操作使用 Mongox 进行更

Go中sync.Once源码的深度讲解

《Go中sync.Once源码的深度讲解》sync.Once是Go语言标准库中的一个同步原语,用于确保某个操作只执行一次,本文将从源码出发为大家详细介绍一下sync.Once的具体使用,x希望对大家有... 目录概念简单示例源码解读总结概念sync.Once是Go语言标准库中的一个同步原语,用于确保某个操

Python实现高效地读写大型文件

《Python实现高效地读写大型文件》Python如何读写的是大型文件,有没有什么方法来提高效率呢,这篇文章就来和大家聊聊如何在Python中高效地读写大型文件,需要的可以了解下... 目录一、逐行读取大型文件二、分块读取大型文件三、使用 mmap 模块进行内存映射文件操作(适用于大文件)四、使用 pand

C# 读写ini文件操作实现

《C#读写ini文件操作实现》本文主要介绍了C#读写ini文件操作实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录一、INI文件结构二、读取INI文件中的数据在C#应用程序中,常将INI文件作为配置文件,用于存储应用程序的

Debian如何查看系统版本? 7种轻松查看Debian版本信息的实用方法

《Debian如何查看系统版本?7种轻松查看Debian版本信息的实用方法》Debian是一个广泛使用的Linux发行版,用户有时需要查看其版本信息以进行系统管理、故障排除或兼容性检查,在Debia... 作为最受欢迎的 linux 发行版之一,Debian 的版本信息在日常使用和系统维护中起着至关重要的作

macOS怎么轻松更换App图标? Mac电脑图标更换指南

《macOS怎么轻松更换App图标?Mac电脑图标更换指南》想要给你的Mac电脑按照自己的喜好来更换App图标?其实非常简单,只需要两步就能搞定,下面我来详细讲解一下... 虽然 MACOS 的个性化定制选项已经「缩水」,不如早期版本那么丰富,www.chinasem.cn但我们仍然可以按照自己的喜好来更换

四种简单方法 轻松进入电脑主板 BIOS 或 UEFI 固件设置

《四种简单方法轻松进入电脑主板BIOS或UEFI固件设置》设置BIOS/UEFI是计算机维护和管理中的一项重要任务,它允许用户配置计算机的启动选项、硬件设置和其他关键参数,该怎么进入呢?下面... 随着计算机技术的发展,大多数主流 PC 和笔记本已经从传统 BIOS 转向了 UEFI 固件。很多时候,我们也