C# 使用C从另一个程序发送和检索数据#

C# 使用C从另一个程序发送和检索数据#,c#,window,external,sendkeys,spy++,C#,Window,External,Sendkeys,Spy++,几天来,我一直在尝试创建一个程序,在另一个应用程序中从/向文本框读取和写入值。更具体地说:我想在HP Service Manager中自动更新票证目录 我的第一次尝试是使用SendKeys。但我面临的问题是,这种方法似乎并不真正可靠,因为我需要访问远离另一个文本字段的文本字段,并且使用Send TAB的循环是不可靠的[当然,我添加了一个Application.DoEvents()和一个Thread.Sleep]。 经过一段时间的测试,我现在根本无法控制HPSM[除了HPSM之外,每个程序都会执行

几天来,我一直在尝试创建一个程序,在另一个应用程序中从/向文本框读取和写入值。更具体地说:我想在HP Service Manager中自动更新票证目录

我的第一次尝试是使用SendKeys。但我面临的问题是,这种方法似乎并不真正可靠,因为我需要访问远离另一个文本字段的文本字段,并且使用Send TAB的循环是不可靠的[当然,我添加了一个Application.DoEvents()和一个Thread.Sleep]。 经过一段时间的测试,我现在根本无法控制HPSM[除了HPSM之外,每个程序都会执行SendKeys]。不知道是什么问题,但我在互联网上读到有几个问题[只适用于Visual Studio运行,只适用于调试等情况],所以我放弃了这个解决方案

如果我可以直接访问所需的文本字段,我将非常欢迎。现在,使用Spy++我可以选择所需的文本字段。但不幸的是,没有固定的值来标识某个文本字段:无法通过编程实现这一点

唯一似乎始终保持不变的是HPSM提供的“窗口”的结构/层次结构[见所附屏幕截图]。 现在我的想法是:有没有一种方法可以遍历这些子窗口并读取/修改特定窗口的“窗口标题”部分? 或者有没有另一种更简单的方法让这个笨蛋自动化

我在绝望中慢慢溺水,提前感谢您的帮助:)

HPSM结构:


您是否考虑过使用管道或其他内置IPC机制?好的,也许我忘了补充一点,编程只是我公司的一个子任务,这是实现自动化的第一种方法。你能详细说明一下吗?先读一读,然后再读一读。HPSM没有可以集成的API吗?谢谢你的回复。似乎有一个API[但它不可下载,至少不是免费的]。