[返回]
中国计算机报2000年第43期

API函数应用技巧

褚健耘

  一、获得Windows系统目录


  1.创建含有如下控件的窗体(见图1):

控件 控件名 text
标签 st_1 windows目录:
标签 st_2 系统目录:
单行编辑框 sle_1
单行编辑框 sle_2


  图1

  2.声明如下外部函数:

  Function uint GetWindowsDirectoryA(ref string dirtext, uint textlen) library "KERNEL32.DLL"

  Function uint GetSystemDirectoryA(ref string dirtext, uint textlen) library "KERNEL32.DLL"

  3.在窗体的Open事件中输入如下语句:

  String ls_WinPath,ls_syspath,ls_curpath

  ls_WinPath = Space( 40 )

  ls_syspath = Space( 40 )

  GetWindowsDirectoryA( ls_WinPath, 60)

  GetSystemDirectoryA(ls_syspath,60)

  sle_1.text=ls_winpath

  sle_2.text=ls_syspath


  二、获取硬盘容量


  1.创建含有如下控件的窗体(见图2):

控件 控件名 text
标签 st_1 c盘可用容量:
标签 st_2 c盘容量:
单行编辑框 sle_1
单行编辑框 sle_2


  图2

  2.声明如下外部函数:

  Function uint GetDiskFreeSpaceA(string lpRootPathName,ref long lpSectorsPerCluster,ref long lpBytesPerSector,ref long lpNumberOfFreeClusters,ref long lpTotalNumberOfClusters) Library "kernel32"

  3.在窗体open事件中输入如下语句:

  long secs,bytes,cls1,cls2,cls3,cls4

  GetDiskFreeSpaceA("c:\",secs,bytes,cls1,cls2)

  cls3=cls1*secs*bytes

  cls4=cls2*secs*bytes

  sle_1.text=string(cls3)+'字节'

  sle_2.text=string(cls4)+'字节'

  以上程序在Windows 98中文版,PowerBuilder 6.0软件环境下运行通过。