呆在呆呆的家

我说我想说的,做我想做的;当我什么都不说,什么都不做,我呆在呆呆的家。(版权所有,转载必须经过书面同意)

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  63 随笔 :: 0 文章 :: 326 评论 :: 93769 阅读
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

                                                                    将数据导入第三方系统
       有的时候,我们有必要将数据导入到第三方系统,如果该系统支持数据库形式的导入,我们可以采用DTS;导入到ASC的形式,我们可以写文件。但是,有的时候,这些方式都不行,或者ASC文件的格式不可知,我们只有一种方式了,那就是利用窗口消息。
      思路很简单,先获得窗口的句柄,然后采用发送消息来模拟人操作的方式。在应用过程中,我们可以如下定义我们的配置文件:
     


关键的地方有这些:
1.定义的秩序:人操作是什么秩序,就怎么定义
2.Path:任何一次运行时,句柄和ID都会发生变化,所以我们要把控件的路径保存下来,在初试化时,从主窗口开始,一直找到相应的控件
3.控件要保存ClassName和Caption以及相对于父窗口的位置
4.Type:如果是Button和Edit采用不同的操作。当然,如果要完善,也可以改进配置文件,定义消息ID以及消息参数;增加更多的类别
5.IsTemp:进行了某些操作后,系统可能临时生成一些按钮控件等

可以自己制作一个小工具,来获得窗口的Path,如下图类似于Spy++的工具:

        红色部分为生成的路径。

     把配置文件配置好后,接下来就是将数据导出。建立一HashTable,初试化获得的句柄;然后依次循环数据库记录,依据配置文件的顺序,将数据导出。
    具体编代码比较简单,再此就不现丑了。关键的部分就在于思路,特别是那个Path,我个人认为。

   

posted on   呆在呆呆的家  阅读(1458)  评论(4编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示