救救我这个powerbuilder白痴吧 :)

zhangbat 2002-04-04 08:45:03
我希望能够找到一个应用(窗口)的句柄,然后在适当的情况下关闭它。起因是我在pb中用ole方法打开autocad的图,本来好好的(我的操作系统win2k,pb版本8.01),可是安装到人家用win9x系统的机器上就出现一系列的毛病,连cad图都不能编辑了,所以我临时在程序中用命令行(run)的方法打开cad图,可是这样的话打开了图之后就无法控制它了………………希望高手教我使用api函数的方法,或者解决本质问题也成,万分感激!!
...全文
41 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangbat 2002-04-08
  • 打赏
  • 举报
回复
谢谢两位,问题解决了,我马上给两位加分 :)
yjs_lh 2002-04-04
  • 打赏
  • 举报
回复
FindWindowA
CloseWindowA
去查相应的声明罢。
jiazhij 2002-04-04
  • 打赏
  • 举报
回复
不好意思。我也帮不上什么忙,但是我可以提供一些资料
注:我使用过,但不好使,可能是我的操作有误。

您帮我试试吧,如果搞定请回信,jiazhij@sina.com

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

在PB程序设计中,可以用Run()来运行一些程序。但Run程序无法与PB主程序协调

工作,若用户多次调用,就会启动Run程序的多个实例,主程序退出时,Run程序

依然运行。可以用如下函数使它们协调工作:

Function Ulong FindWindowA(Ulong classname, String windowname)

Library "user32.dll”

Function Long SetParent(Long childwin, Long parentwin) Library "user32.dll”

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

handle = FindWindowsA(nul,wtitle)

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

If handle > 0 Then Return

//若已经在运行就返回

Run(“c:\luhan.chm”)

//否则运行Run程序

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

Handle = FindWindowA(nul,wtitle)

SetParent(handle,Handle(w_main))

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


whoknow 2002-04-04
  • 打赏
  • 举报
回复
我想可以通过,这个API函数解决这个问题,用FindWindowA函数,找到窗口的句柄。

1,075

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧