admin 管理员组

文章数量: 1086019


2024年3月18日发(作者:旅游网页html)

Win32API函数与PB编程

在PB编程实践中,如何获取当前目录?如何得到光盘的盘符?如何控制由Run运行的程序?对

于此类PB不能直接解决的问题,可以求助于Win32 API函数。其实PB编程的大部分FAQ都可以通

过Win32 API函数来解决。下面是一些典型的应用。

1、如何使PB窗口总在最上层(Always On Top)

通过SetWindowPos函数把窗口的显示层次修改为HWND—TOPMOST,就可使指定窗口永远

不会被其它窗口覆盖,该函数声明为:

Function Long SetWindowPos(Long hwnd,Long ord,Long x,Long y,Long dx,Long dy,Long

uflag) Library ″user32″

参数1为要顶层显示的窗口句柄,参数2指定显示的层次,参数7为附加选项,其余参数指定窗

口位置和大小,均可忽略。在窗口的Open或Activate事件中加入如下函数调用:

SetWindowPos(Handle(This),-1,0,0,0,0,3)

参数2取-1表示在最顶层显示窗口,取1表示在最底层显示;最后一个参数若取1,表示窗口大

小保持不变,取2表示保持位置不变,因此,取3(=1+2)表示大小和位置均保持不变,取0表示将

窗口的大小和位置改变为指定值。

2、在PB中如何获得光盘盘符

通过GetDriveType函数可以获取驱动器(如:软驱、硬盘、光驱、网络映射驱动器等)的信息,

该函数声明为:

Function Uint GetDriveTypeA (String drive) Library ″″

参数为一个盘符(如“C:"),返回值:1表示未知,2表示软驱,3表示本地硬盘,4表示网络驱

动器,5表示光驱。因此如下代码可以获得光盘的盘符:

For i=Asc(′D′) to Asc(′Z′)

//列举所有可能的CDROM驱动器

If GetDriveTypeA(Char(i)+″:″)=5 Then

//若找到CDROM

MessageBox(″CDROM″,Char(i)+″:″)

//显示光盘盘符

Exit //退出列举

End If

Next


本文标签: 表示 函数 显示 参数 驱动器