以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://www.weistock.com/bbs/index.asp)
--  高级功能研发区  (http://www.weistock.com/bbs/list.asp?boardid=5)
----  自动关闭金字塔的代码  (http://www.weistock.com/bbs/dispbbs.asp?boardid=5&id=72645)

--  作者:dwjgwsm
--  发布时间:2014/12/3 20:05:04
--  自动关闭金字塔的代码
热心网友klc在http://www.weistock.com/bbs/dispbbs.asp?boardid=5&id=57898&authorid=0&page=0&star=3中提供了一段自动关闭金字塔的代码.

Set Wrap = CreateObject("DynamicWrapper")
Wrap.Register "user32.dll","FindWindowA","i=ss","f=s", "r=l"
Wrap.Register "user32.dll","FindWindowExA","i=llss","f=s", "r=l"
Wrap.Register "user32.dll","SendMessageA","i=lull","f=s", "r=l"
WM_LBUTTONDOWN=513
WM_LBUTTONUP=514
h = Wrap.FindWindowA("#32770","金字塔")
if h<>0 then
  h2 = Wrap.FindWindowExA(h,0,"Button","是(&Y)")
  if h2<>0 then
    Wrap.SendMessageA h2,WM_LBUTTONDOWN,0,0
    Wrap.SendMessageA h2,WM_LBUTTONUP,0,0
  end if
else
  application.PostMessage(57665)
end if

有几个问题想请教一下:
1.运行上面的代码,会弹出询问是否关闭金字塔的是/否消息窗口,还需要手动点击.如何解决?

2.似乎application.PostMessage(57665)这一句就是关闭软件的,那么上面那么多代码都是做什么用的?看不懂

3.关软件之前,需要先把交易停止吧(就是那个启动交易/停止交易的弹窗).上面的代码考虑了吗?


--  作者:王锋
--  发布时间:2014/12/3 21:35:32
--  

1,选项中有这个关闭是否弹出提示的功能。

2,这个实现的功能是一样

3,关闭前需要停止自动交易的,不然他还会弹出是否退出的窗口。

 

你可以试试 Application 对象的

 

QuitApplication(Type)

关闭并退出应用程序和计算机

Type   为0时表示仅关闭退出应用程序 为1时关闭应用程序后关闭计算机

 

提供了更直接的方法来帮你实现