社区
PowerBuilder
帖子详情
如何知道一个窗口是否已经打开?窗口是实例打开的
dancer
2006-02-08 10:20:00
如何知道一个窗口是否已经打开?窗口是实例打开的
这样用isvaild(w_index)的方法则无法判断,有没有好的方法,谢谢!
...全文
337
19
打赏
收藏
如何知道一个窗口是否已经打开?窗口是实例打开的
如何知道一个窗口是否已经打开?窗口是实例打开的 这样用isvaild(w_index)的方法则无法判断,有没有好的方法,谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
19 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Binary Wang
2006-03-10
打赏
举报
回复
这段代码和我正在做的项目所用的一样。
WorldMobile
2006-02-11
打赏
举报
回复
这么做,给你段代码
iw_frame 为你的MDI主窗口
as_win_nam 为你要查找的窗口名
函数返回为1时为找到
window lw_sheet
lw_sheet = iw_frame.getfirstsheet()
if isvalid(lw_sheet) then
//
else
return 0
end if
do while lw_sheet.classname() <> as_win_nam
lw_sheet = iw_frame.getnextsheet(lw_sheet)
if isvalid(lw_sheet) then
//
else
return 0
end if
loop
if lw_sheet.classname() = as_win_nam then
return 1
else
return 0
end if
dancer
2006-02-10
打赏
举报
回复
楼上的,findwindowa也不行也,还有没有其他方法的,谢谢
pbdesigner
2006-02-10
打赏
举报
回复
使用共享变量计数,open时计数器加1,close时计数器减1,根据计数器是否大于1判断
msgtogcra
2006-02-10
打赏
举报
回复
如果是以表单方式打开的窗口则可以判断:通过 GetFirstSheet() 和 GetNextSheet() 遍历所有表单,用 ClassName() 取得窗口类名进行判断。
而对于非表单类型的窗口,由于 pb 没有提供相应的遍历函数,则没有通用的方法可以解决;估计非要用全局变量进行登记了。
dancer
2006-02-10
打赏
举报
回复
window lw_win
string ls_processwin
ls_processwin就是要打开的mdi窗口名
OpenSheetWithParm(lw_win,s_id,ls_processwin,ParentWindow(),0,Original!)
我现在可以知道ls_processwin(打开的窗口名,多个),如何判断某个窗口有没有打开呢?
rishengw
2006-02-10
打赏
举报
回复
窗口是实例打开的 实例是什么意思?没看懂
coordinate
2006-02-08
打赏
举报
回复
Function boolean IsWindow( ulong hwnd ) Library "user32.dll"
if IsWindow(handle(w_1)) then
...
end if
dancer
2006-02-08
打赏
举报
回复
to jimmyxc(小谢)
我用isvaild不行也,有没有办法得到application的control列表,然后再去判断有没有相应的
window打开,这样行不行的?
dancer
2006-02-08
打赏
举报
回复
请问上面的
ulng_winhandle = FindWindowA( 0,"登录" )
后面的“登陆”是不是窗口的名称?
还有就是要监测多个窗口有没有好的办法?谢谢
jimmyxc
2006-02-08
打赏
举报
回复
用api
//检测窗口是否打开
Function ulong FindWindowA( ulong winhandle, string wintitle ) Library "user32"
Function uLong BringWindowToTop( ulong hwnd ) Library "user32"
Function uLong ShowWindow( ulong winhandle, int wincommand ) Library "user32"
//应用
ulong ulng_winhandle
ulng_winhandle = FindWindowA( 0,"登录" )
If ulng_winhandle > 0 Then
BringWindowToTop( ulng_winhandle )
ShowWindow( ulng_winhandle, 5 )
Return
End If
ulng_winhandle = FindWindowA( 0,"管理系统")
If ulng_winhandle > 0 Then
BringWindowToTop( ulng_winhandle )
ShowWindow( ulng_winhandle, 5 )
Return
End If
MINDNET
2006-02-08
打赏
举报
回复
楼上的应该可以的。
还不可以就设一个全局变量来做标记吧。
jimmyxc
2006-02-08
打赏
举报
回复
isvaild可以啊
wepwep
2006-02-08
打赏
举报
回复
那就用findwindowa,不知道mdi的子窗体能不能找到?有结果告诉我哦
dancer
2006-02-08
打赏
举报
回复
楼上的,如果用全局数组,则所有的窗口都要改了,有些是其他开发组的pbl,hehe,这样太麻烦了
wepwep
2006-02-08
打赏
举报
回复
findwindowa(0,"XX")中的XX表示窗体的TITLE,是字符串
如果自己写的程序应该可以建一个实例窗体的列表吧?在实例窗体的关闭事件里加点代码,用全局数组就ok了啊
dancer
2006-02-08
打赏
举报
回复
楼上的几种方法我都试过了,都不行也,实例打开都可以打开多个。。。
还有没有其他的方法?谢谢
jimmyxc
2006-02-08
打赏
举报
回复
application的control列表?没有试过,关注下吧
jimmyxc
2006-02-08
打赏
举报
回复
ulng_winhandle = FindWindowA( 0,"登录" )
后面的“登陆”是窗口的名称
JavaScript网页特效范例宝典源码
实例
002 定时
打开
窗口
4
实例
003 通过按钮创建
窗口
5
实例
004 自动关闭的广告
窗口
6
实例
005 控制弹出
窗口
居中显示 7
实例
006 弹出的
窗口
之Cookie控制 9
实例
007 为弹出的
窗口
加入关闭按钮 11
实例
008 关闭弹出
窗口
...
python关闭当前
窗口
打开
新
窗口
_python - PyQt5:如何
打开
一个
新
窗口
并关闭当前
窗口
? - 堆栈内存溢出...
我想问一下我在标题中写的内容,如何
打开
一个
新
窗口
并(完全)关闭当前
窗口
?有两个.py文件。 它们彼此独立,这意味着它们可以独立运行。在MyApp.py中,有
一个
按钮。 如果单击该按钮,我想关闭当前
窗口
/文件并
打开
新...
access应用的3个开发
实例
这3个
实例
全是学校应用环境下开发,一步一步全程一点点做完,学员会学到
一个
整体的开发过程。对于编程来说,知识点很重要,但对知识的灵活运用与理解编写思路更重要,毕竟我们是要用它解决实际问题而而不是停留在...
vscode 怎么在两个
窗口
打开
同
一个
项目
前端小白,今天需要写几个...所以想开两个 vscode
窗口
同时
打开
这个项目,
一个
项目用来查看参考的代码,
一个
窗口
用来自己写代码,但是发现 vscode 对于同个目录下的文件,只能在
一个
窗口
打开
,无法在多个
窗口
打开
,...
python关闭当前
窗口
打开
新
窗口
_关闭
窗口
,用PyQ在Python中
打开
一个
新
窗口
我是PyQt5新手,想编写
一个
小程序我在QT设计器中设计了两个
窗口
,并将它们转换成py脚本。后来我把两者合并成
一个
文件(也许我的尝试完全错了-所以请纠正我)当程序启动时,我会看到
一个
小
窗口
,上面有一些单选按钮和...
PowerBuilder
1,076
社区成员
66,437
社区内容
发帖
与我相关
我的任务
PowerBuilder
PowerBuilder 相关问题讨论
复制链接
扫一扫
分享
社区描述
PowerBuilder 相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章