TC官方合作论坛

 找回密码
 立即注册
查看: 1331|回复: 7

[已解决] 高手过来看下

[复制链接]
发表于 2012-5-17 15:23:57 | 显示全部楼层 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
自己做了个小软件,在自己电脑上能很好的运行,在其他电脑上就不行具体表现是,我想让用户在点击“复制/写入”的时候,软件会激活记事本窗口,并粘贴。
这个功能在我自己电脑上好用,可是在别的电脑上,就会提示“内容被复制到剪切板”,也就是我设定的(窗口句柄==0)的情况
请问这是怎么回事,代码如下



空间 AnsysApdlHelper

功能 逻辑型 初始化()
选项卡.激活("选项卡0",0)
返回 真
功能结束

字符型 路径,文本,创建路径,窗口名
整型 文件句柄

功能 字符型 浏览框0_选择改变()
路径=浏览框.获得("浏览框0")
返回 路径
功能结束

功能 字符型 编辑框0_失去焦点()
文本=编辑框.获得文本("编辑框0")
返回 文本
功能结束

功能 逻辑型 按钮0_点击()
创建路径=字符串.连接(路径,"\\")
创建路径=字符串.连接(创建路径,文本)
创建路径=字符串.连接(创建路径,".txt")
文件句柄=文件.创建(创建路径,"读写")
如果(文件句柄==0)
  辅助.消息框("文件创建失败")返回 假
否则
  辅助.消息框("文件创建成功")
  辅助.命令(创建路径,真)
返回 真
如果结束
返回 真
功能结束

功能 逻辑型 复制粘贴(字符型 内容)
整型 窗口句柄
辅助.写入剪切板(内容)
窗口名=字符串.连接(文本,".txt")
窗口名=字符串.连接(窗口名," - 记事本")
窗口句柄=窗口.找到窗口(窗口名)
如果 (窗口句柄==0)
    辅助.消息框("内容被复制到剪切板")
否则
    窗口.激活(窗口句柄)
    键盘.按下(17)
    键盘.按键(86,1)
    键盘.弹起(17)  
    辅助.等待(200)
    键盘.按键(13,1)
    返回 真
如果结束
返回 真
功能结束

功能 逻辑型 退出_点击()
辅助.消息框("感谢使用!")
辅助.退出()
返回 真
功能结束

功能 逻辑型 选项卡0_选择改变()
控件.创建("选项卡","选项卡Preprocessor","Element|RealConstants|MaterialProps|Sections|Modeling|Meshing",1,1,602,366,"","","选项卡0",4)
控件.创建("选项卡","选项卡Modeling","Create|Operate|Move/Modify|Copy|Reflect",1,1,591,331,"","","选项卡Preprocessor",4)
控件.创建("选项卡","选项卡Create","Kyepoints|Lines|Areas|Volumes|Nodes|Elements",1,1,580,296,"","","选项卡Modeling",0)
控件.创建("选项卡","选项卡Volumes","Arbitrary|Block|Cylinder|Prism|Sphere|Cone",1,1,569,261,"","","选项卡Create",3)
控件.创建("按钮","按钮Block","复制/写入",470,190,80,28,"","点击:AnsysApdlHelper.BLOCK","选项卡Volumes",1)
控件.创建("按钮","按钮BlockH","功能说明",380,190,80,28,"","点击:AnsysApdlHelper.BLOCKH","选项卡Volumes",1)
控件.创建("标签","标签Block","BLOCK, X1, X2, Y1, Y2, Z1, Z2",100,50,350,28,"","","选项卡Volumes",1)
控件.创建("编辑框","编辑框Block","BLOCK,,,,,,",100,110,350,28,"","","选项卡Volumes",1)
控件.创建("选项卡","选项卡MENU","File|Select|List|Plot|PlotCtrls|WorkPlane|Parameters|Macro|MenuCtrls",1,1,591,331,"","","选项卡0",2)
控件.创建("按钮","按钮WorkPlane","复制/写入",470,80,80,28,"","点击:AnsysApdlHelper.WORKPLANE","选项卡MENU",5)
控件.创建("按钮","按钮WorkPlaneH","功能说明",380,80,80,28,"","点击:AnsysApdlHelper.WorkPlanewH","选项卡MENU",5)
控件.创建("标签","标签WorkPlane","WPOFF,x,y,z",80,10,350,28,"","","选项卡MENU",5)
控件.创建("编辑框","编辑框WorkPlanew","WPOFF,,,",80,40,350,28,"","","选项卡MENU",5)
控件.创建("按钮","按钮WorkPlane1","复制/写入",470,180,80,28,"","点击:AnsysApdlHelper.WORKPLANE1","选项卡MENU",5)
控件.创建("按钮","按钮WorkPlaneH1","功能说明",380,180,80,28,"","点击:AnsysApdlHelper.WorkPlanew1H","选项卡MENU",5)
控件.创建("标签","标签WorkPlane1","WPROT,x,y,z",80,95,350,28,"","","选项卡MENU",5)
控件.创建("编辑框","编辑框WorkPlane1w","WPROT,,,",80,130,350,28,"","","选项卡MENU",5)
返回 真
功能结束

功能 逻辑型 BLOCK()
字符型 Blockw
Blockw=编辑框.获得文本("编辑框Block")
AnsysApdlHelper.复制粘贴(Blockw)
返回 真
功能结束
功能 逻辑型 BLOCKH()
辅助.消息框("[X1, X2]Working plane X coordinates of the block.[Y1, Y2]Working plane Y coordinates of the block.[Z1, Z2]Working plane Z coordinates of the block.")
返回 真
功能结束
功能 逻辑型 Finish_点击()
字符型 Finishw
Finishw="FINISH"
AnsysApdlHelper.复制粘贴(Finishw)
返回 真
功能结束
功能 逻辑型 说明C1_点击()
辅助.消息框("Exits normally from a processor.")
返回 真
功能结束
功能 逻辑型 按钮2_点击()
字符型 Clearw
Clearw="CLEAR"
AnsysApdlHelper.复制粘贴(Clearw)
返回 真
功能结束
功能 逻辑型 按钮1_点击()
辅助.消息框("Clears the database.")
返回 真
功能结束
功能 逻辑型 按钮4_点击()
字符型 Filnamew
Filnamew=编辑框.获得文本("编辑框3")
AnsysApdlHelper.复制粘贴(Filnamew)
返回 真
功能结束
功能 逻辑型 按钮3_点击()
辅助.消息框("[Fname]Name (32 characters maximum) to be used as the Jobname. Defaults to the initial Jobname as specified on the ANSYS execution command, or to file if none specified.[Key]Specify whether to use the existing log, error, lock, and page files or start new files.0, OFF— Continue using current log, error, lock, and page files.1, ON— Start new log, error, lock, and page files (old log and error files are closed and saved, but old lock and page files are deleted). Existing log and error files are appended.")
返回 真
功能结束
功能 逻辑型 按钮6_点击()
字符型 Prep7w
Prep7w="/PREP7"
AnsysApdlHelper.复制粘贴(Prep7w)
返回 真
功能结束
功能 逻辑型 按钮8_点击()
辅助.消息框("Defines a main title.")
返回 真
功能结束
功能 逻辑型 按钮7_点击()
字符型 Titlew
Titlew=编辑框.获得文本("编辑框5")
AnsysApdlHelper.复制粘贴(Titlew)
返回 真
功能结束
功能 逻辑型 按钮5_点击()
辅助.消息框("PREP7 暂无")
返回 真
功能结束
功能 逻辑型 WORKPLANE()
字符型 WorkPlanew
WorkPlanew=编辑框.获得文本("编辑框WorkPlanew")
AnsysApdlHelper.复制粘贴(WorkPlanew)
返回 真
功能结束
功能 逻辑型 WorkPlanewH()
辅助.消息框("工作平面坐标平移")
返回 真
功能结束
功能 逻辑型 WORKPLANE1()
字符型 WorkPlane1w
WorkPlane1w=编辑框.获得文本("编辑框WorkPlane1w")
AnsysApdlHelper.复制粘贴(WorkPlane1w)
返回 真
功能结束
功能 逻辑型 WorkPlanew1H()
辅助.消息框("工作平面坐标旋转")
返回 真
功能结束


空间结束


回复

使用道具 举报

发表于 2012-5-17 16:06:31 | 显示全部楼层
不是说标题不好,只是你要找准标题..
还有通过进程获取句柄,...鼠标指向获取句柄..枚举获取句柄

每个方法使用都要看个人的应用适合用什么方法..
回复 支持 反对

使用道具 举报

发表于 2012-5-17 15:31:43 | 显示全部楼层
窗口名=字符串.连接(文本,".txt")
窗口名=字符串.连接(窗口名," - 记事本")
窗口句柄=窗口.找到窗口(窗口名)
如果 (窗口句柄==0)
    辅助.消息框("内容被复制到剪切板")
否则
.....



出现这提示.很明显,找不到窗口句柄的问题.
首先确认在其他电脑上窗口标题没错..
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-5-17 15:33:04 | 显示全部楼层
回复 2楼cylhb的帖子

如果不用标题的话,用什么方式激活窗口比较好呢
回复 支持 反对

使用道具 举报

发表于 2012-5-17 16:20:27 | 显示全部楼层
试下 枚举吧.
直接用找到,需要精确的标题名.
而枚举可以相对模糊一点.
只是要注意自己拆分一下.
回复 支持 反对

使用道具 举报

发表于 2012-5-17 16:43:30 | 显示全部楼层
低手 。。 来学习
回复 支持 反对

使用道具 举报

发表于 2012-5-17 16:51:44 | 显示全部楼层
好多代码啊!  头晕..
回复 支持 反对

使用道具 举报

发表于 2012-5-18 08:22:14 | 显示全部楼层
好 非常法
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18045623号)

GMT+8, 2024-6-2 22:21 , Processed in 0.046991 second(s), 23 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

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