找回密码
 加入
搜索
查看: 8454|回复: 18

[系统综合] 激活大智慧L2并点工具菜单下的数据管理该怎么写代码啊?[已解决]

[复制链接]
发表于 2010-11-20 16:03:12 | 显示全部楼层 |阅读模式
本帖最后由 oceanwind 于 2010-11-21 18:48 编辑

如果大智慧L2没在当前激活窗口则激活它 2并点工具菜单下的数据管理该怎么写代码啊

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×

评分

参与人数 1金钱 +10 收起 理由
afan + 10 感谢主动将修改帖子分类为[已解决],请继续 ...

查看全部评分

发表于 2010-11-20 19:32:50 | 显示全部楼层
本帖最后由 lixiaolong 于 2010-11-20 19:43 编辑

回复 1# oceanwind


If WinExists("窗口标题","") Then
        WinActivate("窗口标题","")
        Send("!T")
;~         Sleep(500)
        Send("D")
EndIf

评分

参与人数 1金钱 +10 收起 理由
oceanwind + 10 谢谢

查看全部评分

 楼主| 发表于 2010-11-20 19:36:17 | 显示全部楼层
谢谢楼上的朋友
发表于 2010-11-20 19:43:06 | 显示全部楼层
回复 3# oceanwind

说明一下吧.

If WinExists("窗口标题","") Then 如果指定的窗口标题存在
        WinActivate("窗口标题","") 激活指定的窗口标题
        Send("!T") ALT键和T键一起按一下
;~      Sleep(500)
        Send("D") 按一下D键
EndIf
   
加油!

评分

参与人数 1金钱 +10 收起 理由
oceanwind + 10 再请帮忙下

查看全部评分

 楼主| 发表于 2010-11-20 21:15:18 | 显示全部楼层
If  WinExists("大智慧 - [南都电源]","南都电源") Then
        WinActivate("大智慧 - [南都电源]","南都电源")
        Send("!T")
;~      Sleep(500)
        Send("D")
EndIf   




用激活大智慧用LIXIAOLONG 可行 但是如果股票换了的话 上面标题及标志性文字也会变 (如图) 不知怎么来处理 再请楼上的朋友帮忙

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
 楼主| 发表于 2010-11-20 21:17:42 | 显示全部楼层
把后面的  南都电源  安诺其 换成通配符* 也不行 不知咋搞
发表于 2010-11-20 22:31:41 | 显示全部楼层
回复 6# oceanwind

是不是这个意思?

If  WinExists("大智慧 - [南都电源]","") Then 如果"大智慧 - [南都电源]"窗口标题存在
        WinActivate("大智慧 - [南都电源]","") 激活"大智慧 - [南都电源]"的窗口标题
        Send("!T")
        Send("D")
elseIf  WinExists("大智慧 - [安诺其]","") Then 如果不是, 而是"大智慧 - [安诺其]"窗口标题存在
        WinActivate("大智慧 - [安诺其]","") 激活"大智慧 - [安诺其]"的窗口标题
        Send("!T")      
        Send("D")
EndIf

通配符*是无效的.

评分

参与人数 1金钱 +10 收起 理由
oceanwind + 10 谢谢指教

查看全部评分

 楼主| 发表于 2010-11-20 22:51:35 | 显示全部楼层
这两个只是沪深两市近两两千只的两个而已 2000只股票都有可能因此太多了 且股票数量还在不断增长中 要与朋友扣聊就好了
 楼主| 发表于 2010-11-21 00:28:44 | 显示全部楼层
可不可以查找窗口字符含大智慧的呢..
 楼主| 发表于 2010-11-21 00:40:18 | 显示全部楼层
似乎演变成了如何查找含"大智慧"的窗口的问题了..
请各位朋友指点
 楼主| 发表于 2010-11-21 01:03:10 | 显示全部楼层
Dim $BT,$WB
Dim $RESULT

If  WinExists($BT,$WB) Then
         $RESULT=StringInStr($BT,"大智慧")
         If $RESULT>0 Then
        WinActivate($BT,$WB)
        Send("!T")
;~      Sleep(500)
        Send("X")
        EndIf       
EndIf
 楼主| 发表于 2010-11-21 01:03:36 | 显示全部楼层
本帖最后由 oceanwind 于 2010-11-21 01:08 编辑

改成以上的句子还是不行啊 请朋友们指教啊
发表于 2010-11-21 01:13:17 | 显示全部楼层
找到句柄,然后sendmessage

评分

参与人数 1金钱 +10 收起 理由
oceanwind + 10 谢谢超级版主 能说得细一些吗

查看全部评分

 楼主| 发表于 2010-11-21 10:36:25 | 显示全部楼层
本帖最后由 oceanwind 于 2010-11-21 10:43 编辑

谢谢超级版主 能说得细一些吗

每次换一只股票 WINDOWS任务栏程序名都变化但前面几个字"大智慧"是不变的.
如图

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2010-11-21 11:03:39 | 显示全部楼层
思路:
找工具所在控件的句柄,然后sendmessage发送左键
之后出现的窗口类名应该为#32768或类似
然后findwondow(#32768).当然如果类名真的是#32768的话最好做一下判断,确认此句柄属于大智慧主窗口
取到句柄后再sendmessage(key,d)或char也可以
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-3-29 16:54 , Processed in 0.088032 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表