Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 网络安全 > 黑客技术 > Visual Basic编程疑难问题解(二)六
【标  题】:Visual Basic编程疑难问题解(二)六
【关键字】:c,编程,Visual,is,Visual Basic,Basic,Visual,Basic
【来  源】:网络

Visual Basic编程疑难问题解(二)六

Your Ad Here   问题七:如何识别操作系统版本?
   办法如下:


'引用控件 Microsoft SysInfo Control 6.0
Dim OS As String

With SysInfo1
  Select Case .OSPlatform
   Case 0: OS = "Win32"
   Case 1:
    Select Case .OSVersion
   Case 4: OS = "Win 95"
   Case 4.1: OS = "Win 98"
   Case 4.9: OS = "Wim Me"
  End Select
   Case 2:
    Select Case .OSVersion
     Case 4: OS = "Win NT"
     Case 5: OS = "Win 2000"
     Case 6: OS = "Win XP"
    End Select
  End Select

  MsgBox "Build:" & .OSBuild & vbNewLine & _
   "Platform:" & OS & "(" & .OSPlatform & ")" & vbNewLine & _
   "Version:" & .OSVersion
End With

   问题八:如何实现遍历文件夹中的所有文件

   办法如下:
 
   把下面放到模块中


Option Explicit

Public Declare Function FindFirstFile Lib "kernel32" Alias "FindFirstFileA" _
(ByVal lpFileName As String, lpFindFileData As WIN32_FIND_DATA) As Long
Public Declare Function FindNextFile Lib "kernel32" Alias "FindNextFileA" _
(ByVal hFindFile As Long, lpFindFileData As WIN32_FIND_DATA) As Long
Public Declare Function FindClose Lib "kernel32" (ByVal hFindFile As Long) As Long

Public Const MAX_PATH = 260
Public Const FILE_ATTRIBUTE_ARCHIVE = &H20
Public Const FILE_ATTRIBUTE_COMPRESSED = &H800
Public Const FILE_ATTRIBUTE_DIRECTORY = &H10
Public Const FILE_ATTRIBUTE_HIDDEN = &H2
Public Const FILE_ATTRIBUTE_NORMAL = &H80
Public Const FILE_ATTRIBUTE_READONLY = &H1
Public Const FILE_ATTRIBUTE_SYSTEM = &H4
Public Const FILE_ATTRIBUTE_TEMPORARY = &H100

'自定义数据类型FILETIME和WIN32_FIND_DATA的定义
Public Type FILETIME
  dwLowDateTime As Long
  dwHighDateTime As Long
End Type

Public Type WIN32_FIND_DATA
  dwFileAttributes As Long
  ftCreationTime As FILETIME
  ftLastAccessTime As FILETIME
  ftLastWriteTime As FILETIME
  nFileSizeHigh As Long
  nFileSizeLow As Long
  dwReserved0 As Long
  dwReserved1 As Long
  cFileName As String * MAX_PATH
  cAlternate As String * 14
End Type
----------------------
'--------------------------------------------------------------------------------
' 把当前文件夹路径下的所有文件入到listview中
'--------------------------------------------------------------------------------
Private Sub finfiles(tCurrentdir As String)
  Dim itmX As ListItem
  Dim tFindData As WIN32_FIND_DATA
  Dim strFileName As String
  Dim lHandle As Long
  Dim CountFolder As Integer
  Dim CountFiles As Integer
  CountFolder = 0
  CountFiles = 0
  ListView1.ListItems.Clear
  lHandle = FindFirstFile(tCurrentdir & "\*.*", tFindData)
  If lHandle = 0 Then
   Set itmX = ListView1.ListItems.Add(, , strFileName & "找不到文件")
   Exit Sub
  End If
  strFileName = fDelInvaildChr(tFindData.cFileName)
  Do While True
   tFindData.cFileName = ""
   If FindNextFile(lHandle, tFindData) = 0 Then
    FindClose (lHandle)
    Exit Do
   Else
    strFileName = fDelInvaildChr(tFindData.cFileName)
    If tFindData.dwFileAttributes = &H10 Then
     If strFileName <> "." And strFileName <> "." Then
      Set itmX = ListView1.ListItems.Add(, , strFileName)
      itmX.SmallIcon = 1
      CountFolder = CountFolder + 1
     End If
    Else
     Debug.Print InStr(LCase(Right(strFileName, 3)), ExtendFileName)
     If InStr(ExtendFileName, LCase(Right(strFileName, 3))) > 0 Then
      Set itmX = ListView1.ListItems.Add(, , strFileName)
      itmX.SubItems(1) = CStr(FileLen(tCurrentdir & "\" & strFileName))
      itmX.SmallIcon = 2
      itmX.SubItems(2) = FileDateTime(tCurrentdir & "\" & strFileName)
      CountFiles = CountFiles + 1
     End If
    End If
   End If
  Loop
  ListView1.Sorted = True
  ListView1.SortKey = 1
  StatusBar1.Panels(2).Text = CurrentDir
  StatusBar1.Panels(3).Text = "文件夹:" & CountFolder & " 文件:" & CountFiles
End Sub

    问题九:如何让你的程序在任务列表隐藏

  办法如下:

Private Declare Function RegisterServiceProcess Lib "kernel32"
(ByVal ProcessID As Long, ByVal ServiceFlags As Long) As Long
Private Declare Function GetCurrentProcessId Lib "kernel32" () As Long

 '请你试试 Ctrl+Alt+Del 是不是你的程序隐藏了
Private Sub Command1_Click()
  i = RegisterServiceProcess(GetCurrentProcessId, 1)
End Sub

  问题十:如何计算出本月的最后一天

  办法如下:

首先为下个月的第一天生成一个顺序数值,然后再减去一天

Private Sub Command1_Click()
  Dim dtl As Date
  dtl = DateSerial(Year(Now), Month(Now) + 1, 1) - 1
  MsgBox dtl
End Sub
-------------------------------------------------------------------------------------------
错误的作法 ==> x = Shell("c:\windows\Sheep.scr") '这种作法只能开启屏幕保护程序的设定画面而已!

正确的作法 ==> Shell ("start c:\windows\sheep.scr") '这种作法才能正确启动屏幕保护程序

------------------------------------------------------------------------------------
Sub mnuEditText_Click (Index As Integer)
  ' 我们只要使用 SendKeys,其他的就让 Windows 去做吧!
  Select Case Index
   Case 0 '复原/UNDO
    SendKeys "^Z" 'Keys Ctrl+Z
   Case 1 '剪下/CUT
    SendKeys "^X" 'Keys Ctrl+X
   Case 2 '复制/COPY
    SendKeys "^C" 'Keys Ctrl+C
   Case 3 '贴上/PASTE
    SendKeys "^V" 'Keys Ctrl+V
  End Select
End Sub

-------------------------------------------------------------------------------------
Private Declare Function MessageBox Lib "user32" Alias "MessageBoxA"
(ByVal hwnd As Long, ByVal lpText As String, ByVal lpCaption As String,
ByVal wType As Long) As Long

'加入以下程序码:

Private Sub Command1_Click()
  MsgBox "计时器停掉了!", 64, "VB 的讯息框"
End Sub

Private Sub Command2_Click()
  Timer1.Enabled = 1
  MessageBox Me.hwnd, "注意!计时器还在跑!", "API 的讯息框", 64

End Sub

Private Sub Form_Load()
  Timer1.Interval = 2000
  Label1.Caption = "目前的时间是:" & Time
End Sub

Private Sub Timer1_Timer()
  SendKeys Chr(13)
  Timer1.Enabled = 0
End Sub


黑客探取密码的原理及安全防范:【上一篇】
Visual Basic编程疑难问题解(二)五:【下一篇】
【相关文章】
  • 如何在本地机器调试CGI
  • 利用IEObjectData漏洞实现网页木马
  • 用VC++实现Win2000/XP下的休眠
  • RpcPatch蠕虫代码点评
  • 与软件高手过招:成为编程高手的奥秘
  • 用Visual Basic提取图标资源
  • 用VB6编程监控CPU的资源状况
  • RawSocke原始套接字实现Sniffer嗅探 上
  • RawSocke原始套接字实现Sniffer嗅探 下
  • JavaScript与Java的区别
  • 【随机文章】
  • Session Fa?ade模式
  • 俄罗斯方块.NET开发攻备(2)
  • 暑假实习自荐信
  • 使用 Google Web Toolkit 开发 Ajax
  • 我国宽带接入技术的应用及其发展新动向
  • Java思想
  • Painter 8 浮动层的魔力(1)
  • Common file upload组件的使用
  • Painter 7 写实MM(1)
  • bonding 双网卡
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.