程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> Visual Basic語言 >> VB綜合教程 >> 調用API函數設計ABOUT窗口

調用API函數設計ABOUT窗口

編輯:VB綜合教程
Windows98系統的許多軟件中都包含一個windows風格的about窗口,它向用戶反映了當前系統的一些基本信息,其中顯示有關windows及其應用軟件的版本、版權和系統的工作狀態等信息。筆者用VB6.0通過調用API函數設計應用系統的ABOUT窗口。
  
  1.建立含有如下控件的窗體:
  
  控件NAMECAPTION
  窗體FORM1用VB6.0設計ABOUT窗口命令按鈕COMMAND1關於銷售管理系統
  
  2.程序清單:
  
  PrivateDeclareFunctionGetWindowWordLib"user32"
  (ByValhwndAsLong,ByValnIndexAsLong)AsInteger
  
  PrivateDeclareFunctionShellAboutLib
  "shell32.dll"Alias"ShellAboutA"(ByValhwndAsLong,
  ByValszAppAsString,ByValszOtherStuffAsString,
  ByValhIconAsLong)AsLong
  
  PrivateDeclareFunctionExtractIconLib
  "shell32.dll"Alias"ExtractIconA"(ByValhinstAsLong,
  ByVallpszExeFileNameAsString,ByValnIconIndexAs
  Long)AsLongPrivateDeclareFunctionGetDiskFreeSpace
  Lib"kernel32"Alias"GetDiskFreeSpaceA"(ByVal
  lpRootPathNameAsString,lpSectorsPerClusterAsLong,
  lpBytesPerSectorAsLong,lpNumberOfFreeClustersAs
  Long,lpTotalNumberOfClustersAsLong)AsLongPrivate
  DeclareFunctionGetDriveTypeLib"kernel32"Alias
  "GetDriveTypeA"(ByValnDriveAsString)AsLong
  
  PrivateDeclareSubGetSystemInfoLib"kernel32"
  (lpSystemInfoAsSYSTEM_INFO)PrivateDeclareFunction
  GetSystemMetricsLib"user32"(ByValnIndexAsLong)As
  Long
  
  PrivateConstGWL_EXSTYLE=(-20)
  PrivateConstGWL_STYLE=(-16)
  PrivateConstGWL_WNDPROC=(-4)
  PrivateConstGWL_HINSTANCE=(-6)
  PrivateTypeSYSTEM_INFO
  dwOemIDAsLong
  dwPageSizeAsLong
  lpMinimumApplicationAddressAsLong
  lpMaximumApplicationAddressAsLong
  dwActiveProcessorMaskAsLong
  dwNumberOrfProcessorsAsLong
  dwProcessorTypeAsLong
  dwAllocationGranularityAsLong
  dwReservedAsLong
  EndType
  PrivateConstSM_CXSCREEN=0
  PrivateConstSM_CYSCREEN=1
  
  PrivateSubCommand1_Click()
  DimhinstAsLong
  DimiconsAsLong
  DimaboutsAsLong
  DimdispxAsString
  DimdispyAsString
  DimcpsAsString
  Dimspace1AsString
  Dimspace2AsString
  hinst=GetWindowWord(Me.hwnd,GWL_HINSTANCE)
  icons=ExtractIcon(hinst,"d:fpw26foxprow.exe",0)
  DimsysinfoAsSYSTEM_INFO
  Dimcls1AsLong
  Dimcls2AsLong
  DimsecsAsLong
  DimbytesAsLong
  DimbuffsAsString
  buff="C:"
  x=GetDriveType(buffs)
  x=GetDiskFreeSpace(buffs,secs,bytes,cls1,cls2)
  cls1=cls1*secs*bytes
  cls2=cls2*secs*bytes
  space1="C驅動器總共容量:" Format$(cls2/1024,"#,#") "千字節"
  space2="C驅動器可用容量:
  " Format$(cls1/1024,"#,#") "千字節"
  x=GetSystemMetrics(SM_CXSCREEN)
  dispx="顯示器分辨率:" Str$(x)
  x=GetSystemMetrics(SM_CYSCREEN)
  dispy=Str$(x)
  CallGetSystemInfo(sysinfo)
  SelectCasesysinfo.dwProcessorType
  Case386
  cpus="處理器類型:386"
  Case486
  cpus="處理器類型:486"
  Case586
  cpus="處理器類型:586"
  EndSelect
  abouts=ShellAbout(Me.hwnd,"演示程序",
  "銷售管理系統V2.0版權所有[C]1998-1999蔡可訓"
  &Chr$(13)&Chr$(10)&space1&Chr$(13)&Chr$(10)
  &space2&Chr$(13)&Chr$(10)&cpus "" dispx
  "*" dispy,icons)
  EndSub
  
  ----以上程序在WINDOWS98,VISUALBASIC6.0FORWINDOWS環境下運行通過.用戶可以將其加入應用系統的ABOUT菜單項,通過菜單項調用它,效果更好->

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved