数据库

位置:IT落伍者 >> 数据库 >> 浏览文章

Win32 API 与PB编程[2]


发布日期:2024年06月21日
 
Win32 API 与PB编程[2]

控制由Run运行的程序(简称Run程序)

在PB程序设计中可以用Run()来运行一些程序但Run程序无法与PB主程序协调工作若用户多次调用就会启动Run程序的多个实例主程序退出时Run程序依然运行可以用如下函数使它们协调工作

Function Ulong FindWindowA(Ulong classname String windowname) Library userdll

Function Long SetParent(Long childwin Long parentwin) Library userdll

) 使Run程序只运行一个实例

handle = FindWindowsA(nulwtitle)

//查找Run程序是否已经运行wtitle为Run程序的窗口标题

If handle > Then Return

//若已经在运行就返回

Run(c:\luhanchm

//否则运行Run程序

) PB主程序退出时Run程序也关闭

Handle = FindWindowA(nulwtitle)

SetParent(handleHandle(w_main))

//使Run程序窗口成为PB主程序的子窗口

映射网络驱动器

若要在程序中把远程主机的资源映射到本地驱动器可以用如下函数

Function Long WNetAddConnectionA(String path String pwd String drv) Library mprdll

如下代码可以把远程主机Alexander上的共享文件夹My Documents映射到本地的J 盘

WnetAddConnectionA(\\ Alexander\ My DocumentsJ:) //参数为访问口令

它的作用相当于在DOS提示符下执行Net Use J: \\ Alexander\ My Documents

显示或隐藏Windows的任务栏

要显示或隐藏任务栏首先要得到它的窗口句柄任务栏是一个特殊的窗口它的窗口类为Shell_TrayWnd没有标题故只能用FindWindowEx函数来取得它的句柄

Function Long FindWindowEx(Long ph Long ch ref String cn ref

String wn) Library userdll

Function Long ShowWindow(Long hWnd Long nCmdShow) Library userdll

用ShowWindow来显示或隐藏窗口其第二个参数为表示隐藏表示显示

handle = FindWindowEx( Shell_TrayWndwn) //wn为空串

ShowWindow(handle) //隐藏任务栏

如何将长文件名转换为短文件名

通过GetShortPathName函数可以把上文件名转换为格式其声明为

Function Long GetShortPathNameA(String lf ref String sf Long

buflen)

Library kerneldll

参数为长文件名参数为保存短文件名的缓沖区参数为缓沖区长度例如

GetShortPathNameA(C:\My Document\Powerbuilder编程实践Docsf

\

//sf = Spcace(

如何在PB中实现延时

延时函数很有用PB虽然没有提供但可以通过Wind的Sleep函数来扩展

Function Long Sleep(Long ms) Library kerneldll

调用Sleep() //延时

如何在PB中播放音乐

PB没有提供任何多媒体函数要播放音乐只能通过Win API的PlaySound来实现

Function Long PlaySound(String Filename Int Mod Int Flags) Library

winmmdll

参数为wav文件名参数必须取参数表示后台播放表示循环播放因此取(=+)表示在后台循环播放

编辑推荐

Java程序设计培训视频教程

JEE高级框架实战培训视频教程

[] []

               

上一篇:在PB中应用AutoCAD图形数据库

下一篇:Win32 API 与PB编程[1]