2个不同语言写的软件怎么传递数据
如题,
现在我
软件1可以确认使用c#的windform写的一个传递数据信息的窗体
软件2是公司给我的一个已经做好可用软件,并且我也不知道软件2是什么语言编写的(注意给我的时候没有该软件的源代码,只有可运行的界面,软件2可以是窗体,可以使网站并不固定)
要求:我编写的代码只能在软件1写(因为软件2只是个界面,不能操作软件2源码),怎么把软件1里数据传递到软件2中呢,之间怎么联系(如软件1有一个文本框 里面值是2 ,我怎么把这个2 数据传递到软件2里面某个文本框让他值为 2 呢)
------解决方案--------------------
哈哈,同情楼主!
这种情况,以前也碰到过,第三方是一个牛气哄哄的公司,
我当时的解决办法是这样:
1 首先通过windows API 找到该程序(exe的名称,exe打开后 窗体 title 的名称),对应好,开始
2 置顶该form,(也就是软件2),将form 移动到指定的坐标点。
3 将各个需要录入字段的 textBox 的位置存储到一个xml 中,(如果分辨率不一致会影响软件2的窗口控件位置,重新计算分辨率),然后读取到一个列表数组中。
4 根据列表数组和位置对应,每个出现的位置发送一个点击命令,然后发送一个 剪贴板的 ctrl +V 命令,顺序录完,在发送一个点击命令在 软件2 的提交按钮。自动录入结束...
------解决方案--------------------另一个解决方法也差不多,
楼主先测试一下,点击窗口标题位置后,按 tab 键,看光标焦点是不是顺序切换到不同的 textbox,如果是顺序切换,或有规律切换,也可以不存储各个各个字段位置,直接在在软件2置顶,点击title,依次发送 tab 命令和 ctrl +V 命令即可。
------解决方案--------------------
思路:
游戏外挂、按键精灵、
使用WINDOWS鼠标键盘消息机制,
Send鼠标键盘消息到软件2的录入界面上,模拟人工操作。
------解决方案--------------------
楼主的问题属于自动化测试中经常遇到的问题,说白了就是GUI的各种操作罢了,用C#的话很简单,有个库叫UIAutomation,啥都能干了
很感谢,不知道前辈有这方面的代码吗。。可以贴上来吗
首先你先下一个叫UISpy的工具,这个工具可以捕获控件信息,然后根据捕获的控件信息进行操作,一般都是先找到相应元素对象,然后调用对象提供的方法即可,代码就我就不写了,网上一搜一大片