通过触发事件已经打开了的外部程序为啥不出现,而只显示在任务管理器里呢?

侠之大者 f 2002-12-16 11:01:23
我是在一个按钮中触发数据窗口的双击事件:
dw_1.postevent("douboeclicked")
在这个事件里将打开一个Excel窗口.
但是它打开的EXCEL窗口为啥在任务管理器里可以看到了,但却不能显示出来???

我目前是想通过查找到刚才打开了的Excel窗口的句柄,然后再把置到top上来,可是那个句柄如何得到呢?
我是这样写的,当然是没得到正确结果了.
long handleEx
handleEx=FindWindowA(LONG('EXCEL.EXE'),windowtitle1) //windowtitle1是个字符串,写成"Microsoft Excel "+ls_dname好像也不对.ls_dname是要打开的文件名.
Messagebox("Info",String(handleEx)) // 显示为0
SetWindowPos(handleEx,-1,0,0,0,0,3) //当然没有显示出来

请各位指点迷津!!
...全文
173 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
realfool 2002-12-19
  • 打赏
  • 举报
回复
简单一点,在触发数据窗口的doubleclicked之前,先触发clicked试试,如果你在程序运行时实际用鼠标双击数据窗口能让Excel显示出来的话,这样应该可以的,不是一定要用API。
mx_ch 2002-12-19
  • 打赏
  • 举报
回复
Run ( string {, windowstate } )
看看你的run语句,这个windowsstate参数指定窗口的状态
最大化:Maximized!
最小化:Minimized!
普通:Normal!,这个是默认值

如果用RUN这个函数,应该没有问题

我不太明白你的意思,抱歉
侠之大者 f 2002-12-19
  • 打赏
  • 举报
回复
我试试!
msf 2002-12-16
  • 打赏
  • 举报
回复
对.用API来显示
侠之大者 f 2002-12-16
  • 打赏
  • 举报
回复
谢谢楼上的.我现在已经可以找到了打开的Excel的句柄了.正在查找如何将它显示出来.
realfool 2002-12-16
  • 打赏
  • 举报
回复
明白你的调用方式了,我没办法了:-(
侠之大者 f 2002-12-16
  • 打赏
  • 举报
回复
realfool(风雪夜归人) :
dw_1.doubleclicked里根本没有脚本.不需要脚本啊.在程序里可以直接双击去双击数据窗口啊.因为它只有这个字段,其实就是相当于双击这个blob字段啦.
realfool 2002-12-16
  • 打赏
  • 举报
回复
把你dw_1.doubleclicked事件的脚本贴出来看看(相关的)。
侠之大者 f 2002-12-16
  • 打赏
  • 举报
回复
realfool(风雪夜归人):
我没有用到OLE.也不需要啊.在程序里可以用RUN来运行EXCEL啊.

我的这个数据窗口里只有一个blob型的字段,目的就是它可以双击打开编辑的.现在就是我想在另一个按钮里触发dw_1.doubleclicked事件,而不用再去双击它打开.
realfool 2002-12-16
  • 打赏
  • 举报
回复
你在被触发的事件最后应该加一句:
ole_1.application.visible=true
侠之大者 f 2002-12-16
  • 打赏
  • 举报
回复
虽然不显示出来,可也不会跳出错误信息来.
888888888888 2002-12-16
  • 打赏
  • 举报
回复
关注

611

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder DataWindow
社区管理员
  • DataWindow社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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