问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

急要一段vb修改文件属性时间的代码

发布网友 发布时间:2022-06-07 15:14

我来回答

2个回答

热心网友 时间:2023-10-19 17:32

要三个文本框,1个按钮,1个CommonDialog控件:
CommonDialog控件通过,[工程]--[部件],勾选:Microsoft Common Dialog Control 6.0 (SP6)来添加到工具箱:
代码如下:
Option Explicit

Private Declare Function CreateFile Lib "kernel32" Alias "CreateFileA" (ByVal lpFileName As String, ByVal dwDesiredAccess As Long, ByVal dwShareMode As Long, ByVal lpSecurityAttributes As Long, ByVal dwCreationDisposition As Long, ByVal dwFlagsAndAttributes As Long, ByVal hTemplateFile As Long) As Long
Private Declare Function SetFileTime Lib "kernel32" (ByVal hFile As Long, lpCreationTime As FILETIME, lpLastAccessTime As FILETIME, lpLastWriteTime As FILETIME) As Long
Private Declare Function SystemTimeToFileTime Lib "kernel32" (lpSystemTime As SYSTEMTIME, lpFileTime As FILETIME) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Private Declare Function LocalFileTimeToFileTime Lib "kernel32" (lpLocalFileTime As FILETIME, lpFileTime As FILETIME) As Long

Private Type FILETIME
dwLowDateTime As Long
dwHighDateTime As Long
End Type

Private Type SYSTEMTIME
wYear As Integer
wMonth As Integer
wDayOfWeek As Integer
wDay As Integer
wHour As Integer
wMinute As Integer
wSecond As Integer
wMilliseconds As Integer
End Type

Private Const GENERIC_WRITE = &H40000000
Private Const OPEN_EXISTING = 3
Private Const FILE_SHARE_READ = &H1
Private Const FILE_SHARE_WRITE = &H2

Private Sub Command1_Click()
Dim m_Date As Date, lngHandle As Long
Dim udtFileTime As FILETIME
Dim udtLocalTime As FILETIME
Dim udtSystemTime As SYSTEMTIME
Dim d_Date As String
d_Date = Text1.Text & "-" & Text2.Text & "-" & Text3.Text
m_Date = Format(d_Date, "YYYY-MM-DD")

CommonDialog1.DialogTitle = "Choose a file ..."
CommonDialog1.Filter = "All Files (*.*)|*.*"
CommonDialog1.ShowOpen

udtSystemTime.wYear = Year(m_Date)
udtSystemTime.wMonth = Month(m_Date)
udtSystemTime.wDay = Day(m_Date)
udtSystemTime.wDayOfWeek = Weekday(m_Date) - 1
udtSystemTime.wHour = Hour(m_Date)
udtSystemTime.wMinute = Minute(m_Date)
udtSystemTime.wSecond = Second(m_Date)
udtSystemTime.wMilliseconds = 0

' convert system time to local time
SystemTimeToFileTime udtSystemTime, udtLocalTime
' convert local time to GMT
LocalFileTimeToFileTime udtLocalTime, udtFileTime
' open the file to get the filehandle
lngHandle = CreateFile(CommonDialog1.FileName, GENERIC_WRITE, FILE_SHARE_READ Or FILE_SHARE_WRITE, ByVal 0&, OPEN_EXISTING, 0, 0)
' change date/time property of the file
SetFileTime lngHandle, udtFileTime, udtFileTime, udtFileTime
' close the handle
CloseHandle lngHandle
MsgBox "The date of the file '" + CommonDialog1.FileName + "' has been changed to" + Str$(m_Date), vbInformation + vbOKOnly, App.Title
End Sub
复制以上代码,OK。追问您好,想问一下怎样通过拖拽方式修改时间。
1、添加类似例表的东西或者拖拽到Form1点击按钮直接修改。
2、增加text4、text5、text6,怎样添加时分秒进去。
感谢您了!老师

追答你好,要添加时,分,秒,要读一下原来的Command1_Click()里的代码,应该可以读懂:
修改如下,我已经适当的加了中文注释;
Private Sub Command1_Click()
Dim m_Date As Date, lngHandle As Long
Dim udtFileTime As FILETIME
Dim udtLocalTime As FILETIME
Dim udtSystemTime As SYSTEMTIME
Dim d_Date As String
'为了增加时、分、秒,使用的变量
Dim h_Date As Date
d_Date = Text1.Text & "-" & Text2.Text & "-" & Text3.Text
m_Date = Format(d_Date, "YYYY-MM-DD")
'用Text4、Text5、Text6接收时分秒
h_Date = Format(Text4.Text & ":" & Text5.Text & ":" & Text6.Text, "HH:MM:SS")

CommonDialog1.DialogTitle = "Choose a file ..."
CommonDialog1.Filter = "All Files (*.*)|*.*"
CommonDialog1.ShowOpen

'设置年
udtSystemTime.wYear = Year(m_Date)
'设置月
udtSystemTime.wMonth = Month(m_Date)
'设置日
udtSystemTime.wDay = Day(m_Date)
udtSystemTime.wDayOfWeek = Weekday(m_Date) - 1
'设置时
udtSystemTime.wHour = Hour(h_Date)
'设置分
udtSystemTime.wMinute = Minute(h_Date)
'设置秒
udtSystemTime.wSecond = Second(h_Date)
udtSystemTime.wMilliseconds = 0

' convert system time to local time
SystemTimeToFileTime udtSystemTime, udtLocalTime
' convert local time to GMT
LocalFileTimeToFileTime udtLocalTime, udtFileTime
' open the file to get the filehandle
lngHandle = CreateFile(CommonDialog1.FileName, GENERIC_WRITE, FILE_SHARE_READ Or FILE_SHARE_WRITE, ByVal 0&, OPEN_EXISTING, 0, 0)
' change date/time property of the file
SetFileTime lngHandle, udtFileTime, udtFileTime, udtFileTime
' close the handle
CloseHandle lngHandle
MsgBox "The date of the file '" + CommonDialog1.FileName + "' has been changed to" + Str$(m_Date), vbInformation + vbOKOnly, App.Title
End Sub
另外,要拖曳文件达到此功能,我记得最近2个月里,我在这里回答过这个问题,请你搜一搜.
另外,我想说,你可以安装VB6的MSDN,获得即时帮助,并有助于编程能力的提高.

热心网友 时间:2023-10-19 17:32

看参考

参考资料:http://hi.baidu.com/52malt/blog/item/594f935826f6ae80810a187d.html

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
远得要命的爱情丁菲是谁演的 远的要命的爱情里的乔佳影是谁演的 远得要命的爱情乔佳影是什么角色 问。。我在厦门办的银行卡回江西可以用吗? 远得要命的爱情中的乔佳影是个怎样的人 厦门农信社的公告出来了,想问一下银行合同制和劳务派遣和正式工的区别... 厦门的信用社银联卡到南宁能不能用?要不要手续费? 泉州农信社年前新办的卡,存了钱,银行说三个工作日后才能动这个钱,为什 ... ...女鞋的话 是不是必须直通车 我们鞋子都是20---50鞋子利润低 直通车... 拼多多直通车200红包(拼多多直通车每天烧1000) udt.Z351.exe 是什么应用程序 VB移动文件到回收站 任务管理器里udt.1.z351是什么进程? 我把骗钱人的QQ或QQ群发微博上,算犯法嘛? 慈禧为何在临死前要毒死光绪? 孙殿英挖乾隆和慈禧的坟墓 孙殿英为什么要盗慈禧墓,他说出的理由很无耻 清朝的光绪皇帝在慈禧太后死的前一天去世,请问他的死与慈禧太后有没有关系? 中国历朝哪些统治者最不得民心最应受人民鞭尸? 慈禧临死前做了什么对不起妹妹的丑事,后来如何真相大白的? 慈禧临死前为什么非得毒死正直壮年的光绪? 慈禧老妖怪最后被人挖墓鞭尸了吗? 怎么做香蕉松饼? 鞭尸慈禧太后的是不是张作霖 慈禧太后被鞭尸了? 小米4机型是Ml4LTE-CU是什么板本 为什么刚开机时测试网络延迟是20多MS,时间长之后就变成300多,为什么会这样、 精华液一次用多少ml 无红磷热缩管是否一点都不含有 追啊app打开视频的时候为什么说不能打开视频 QQ群发违法吗? QQ能不能群发信息?具体操作怎样? 环氧沥青漆施工对环境温度的要求是多少 环氧煤沥青防腐漆施工工艺是怎样的 环氧煤沥青的施工方法??? 环氧煤沥青漆生产工艺和需要什么设备,共投资多少钱? 环氧煤沥青漆和环氧煤沥青涂料一样吗,区别在哪里 环氧煤沥青防锈漆怎么用 环氧沥青漆底漆上面能涂刷环氧防腐面漆吗 非暴力沟通常见的方式 非暴力沟通法则是什么? 非暴力沟通的结构是? 什么是非暴力沟通? 哪里能收到人家仍掉的废品包包 废旧垃圾包包货源去哪找 美国的废旧金属回收渠道是怎样的,是类似于中国的废品回收站还是? 想收废品,哪里还有大的小区没有承包出去想包小区收废品 什么样的卫生巾最好?求介绍的 咨询下,现在的纯棉表层姨妈巾哪家强啊? 今天看新闻几个常用牌子的卫生巾都被曝含荧光增白剂,不敢乱用阿,女性朋友们有什么好的建议?