c# - 如何在 C# 中以编程方式填写另一个程序的弹出字段?

标签 c# .net vb.net process

我有一个使用 cmd 启动的 C++ 程序。启动后,他会显示一个弹出窗口,用户必须在其中输入他的登录名/密码。

我想用另一个程序(用 C# 编写)启动此程序,我知道如何使用 System.Diagnostics.Process.Start 来执行此操作。

所以我的问题是:我可以在我的 C# 程序中填写登录名/密码字段吗?

答案:

@DmitriyZapevalov 是对的。以下是一些对我有帮助的有用链接:

最佳答案

您必须通过 Interop 使用 Windows API:

  1. 查找弹出窗口的窗口句柄 (HWND)
  2. 查找子字段句柄
  3. 通过句柄在字段中设置文本 (SendMessage(WM_SETTEXT))

您可以按名称或 ID 查找字段和窗口。

使用 Spy++ 调查弹出窗口布局。

关于c# - 如何在 C# 中以编程方式填写另一个程序的弹出字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36910319/

相关文章:

c# - 如何将文本从 textBox1 复制到 textBox2,包括空格?

c# - 在调用任务的方法退出后,如何使任务保持事件状态?

.net - My.Computer.Info.OSFullName崩溃的Windows XP-已安装.Net 4

c# - XAML:访问用户控件内的控件

.net - 类似谷歌金融的交互式图表控件的推荐

asp.net - 如何测试查询字符串

VB.NET 套接字发送和接收

c# - 如何在调试时刷新 Excel

c# - 无法在 Windows 7 中使用 C# 中的窗口服务计算系统空闲值

c# - 在 WPF Threestate Checkbox 中捕获不确定状态