Win32API函数与PB编程

Win32API函数与PB编程

ID:41032980

大小:38.50 KB

页数:5页

时间:2019-08-14

Win32API函数与PB编程_第1页
Win32API函数与PB编程_第2页
Win32API函数与PB编程_第3页
Win32API函数与PB编程_第4页
Win32API函数与PB编程_第5页
资源描述:

《Win32API函数与PB编程》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、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,Lo

2、ng 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中如何获

3、得光盘盘符  通过GetDriveType函数可以获取驱动器(如:软驱、硬盘、光驱、网络映射驱动器等)的信息,该函数声明为:  Function Uint GetDriveTypeA (String drive) Library ″kernel32.dll″  参数为一个盘符(如“C:"),返回值:1表示未知,2表示软驱,3表示本地硬盘,4表示网络驱动器,5表示光驱。因此如下代码可以获得光盘的盘符:  For i=Asc(′D′) to Asc(′Z′)  //列举所有可能的CDROM驱动器  If GetDriveTypeA(Char(i)+″:″)=5 Then  //若找

4、到CDROM  MessageBox(″CDROM″,Char(i)+″:″)  //显示光盘盘符  Exit //退出列举  End If  Next  3、在PB中如何获取目录信息  ⑴获取当前目录。通过GetCurrentDirectory函数可以获取当前目录,该函数声明为:  Function Ulong GetCurrentDirectoryA(Ulong buflen, ref String dir) Library ″kernel32.dll″  参数2为接收当前目录的字符缓冲区,前面必须加ref表示地址引用;参数1用来指定字符缓冲区的长度。调用过程为:  Str

5、ing curdir  curdir=Space(256)  //为字符缓冲区开辟内存空间  GetCurrentDirectoryA(256,curdir)  MessageBox(″Current Directory″,curdir)  ⑵获取Windows及系统目录。要用到GetWindowsDirectory和GetSystemDirectory两个函数,须作如下声明:  Function Uint GetWindowsDirectoryA(ref String dir,Uint buflen) Library ″kernel32.dll″  Function Uint

6、 GetSystemDirectoryA(ref String dir,Uint buflen) Library ″kernel32.dll″  4、在PB中如何注销当前用户、关闭计算机、重启计算机  通过ExitWindowsEx函数可实现这三个功能,首先作如下声明:  Function Long ExitWindowsEx(Long uflag,Long nouse) Library ″user32.dll″  参数2保留不用,可取0;参数1取0可以注销当前用户,取1可以关闭计算机,取2可以重启计算机,其值再加4表示强制结束“未响应"的进程。  5、控制由Run运行的程序(

7、简称Run程序)  在PB程序设计中,可以用Run()来运行一些程序。比如用户按了F1,就运行一个chm文件。但Run程序无法与PB主程序协调工作,若用户按了多次F1,就会启动Run程序的多个实例,主程序退出时,Run程序依然运行。可以用如下函数来使它们协调工作:  Function Ulong FindWindowA(Ulong classname, String windowname) Library ″user32.dll″  Function Long SetParent(Long 

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。