导航
  • 主页
  • API 调用
  • 基础类
  • 控件与界面
  • 数据库相关
  • DataWindow
  • 项目管理
  • Web 应用
  • 脚本语言

如何关闭PB所用应用?

blackfox0322 2008-01-05 10:31:53
版本是PB10.5,库是SQL2000,有多个应用,但所有应用放在一个WORKSPACE下面,做了个手动更新的程序。在更新前不知道客户打开了哪些应用程序,可能是一个也可能是多个,问:如何在拷贝文件时,将所有应用全部关闭?
...全文
70 点赞 收藏 9
写回复
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
ko888888 2012-05-22
[Quote=引用 8 楼 的回复:]
根据指定的标题,关闭应用.
long ll_hwnd,ll_long = 200
String ls_windowname

do
SetNull( ls_windowname )
ll_hwnd = FindWindowExA(0, ll_hwnd, ls_windowname, ls_windowname)
ls_windowname = space(200)

……
[/Quote]

大侠能否写详细点,我想结束进程里的Exe进程,如何操作,不一定是PB编的进程.如QQ.exe
回复
SKY_4K_PPM 2008-01-05
halt close
回复
riyj 2008-01-05
根据指定的标题,关闭应用.
long ll_hwnd,ll_long = 200
String ls_windowname

do
SetNull( ls_windowname )
ll_hwnd = FindWindowExA(0, ll_hwnd, ls_windowname, ls_windowname)
ls_windowname = space(200)

GetWindowTextA(ll_hwnd, ls_windowname, ll_long)
if ls_windowname = as_titile then
send(ll_hwnd, 16, 0, 0)
end if
LOOP WHILE ll_hwnd > 0

回复
dawugui 2008-01-05
HALT CLOSE
回复
jlwei888 2008-01-05
halt; 程序中止退出!
回复
leio 2008-01-05
你既然有什么1.exe,2.exe那么和什么一个workspace是没关系的,这些exe就是些独立运行的程序。

一个方法是用API查找其他程序进程,然后强行关掉它。

再一个方法是写一个INI文件或写注册表什么,用于标明现在要更新了,其他所有程序里设个time定时检查这个INI文件或注册表,发现要更新了自动halt close。

回复
xyqiqi 2008-01-05
那你可以判断不让客户同时打开多个应用程序
回复
blackfox0322 2008-01-05
抬一下
回复
blackfox0322 2008-01-05
呵,可能我没描述清楚,我说的是:客户可能打开多个EXE,例如:在进程里面有1.exe 2.exe...,这些个EXE都是属于同一个WORKSPACE,我怎样把1.exe 2.exe...全部关闭
回复
发动态
发帖子
PowerBuilder
创建于2007-09-28

803

社区成员

PowerBuilder 相关问题讨论
申请成为版主
社区公告
暂无公告