Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If File.Exists("C:\Windows\System32\winevt\Logs\Security.evtx") Then
File.Copy("C:\Windows\System32\winevt\Logs\Security.evtx", "C:\Log\", True)
Else
MessageBox.Show("bucunzai")
End If
End Sub
win7 64位系统,Security.evtx肯定存在,程序不能复制,如何解决?
------解决思路----------------------
应该是 Security.evtx 当前正在独占使用,不许复制不是很正常吗。
------解决思路----------------------
“Security.evtx肯定存在,程序不能复制”具体报什么bug?你做了什么诊断工作?
------解决思路----------------------
调试的时候注意要是Debug x64
因为X64和X86的SYSTEM32路径是不一样的:
C:\Windows\System32\winevt\Logs\Security.evtx
C:\Windows\syswow64\winevt\Logs\Security.evtx
如果是x86程序访问system32会被重定向,这时就需要用API来关闭重定向。
还有要确保应用程序权限是Administrator,可以对C盘进行读写
还有要确保路径C:\Log 已经存在。
------解决思路----------------------
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If File.Exists("C:\Windows\System32\winevt\Logs\Security.evtx") Then
File.Copy("C:\Windows\System32\winevt\Logs\Security.evtx", "C:\Log\Security.evtx", True)
Else
MessageBox.Show("bucunzai")
End If
End Sub
这样????