gpt4 book ai didi

c# - 从另一个应用程序获取文本

转载 作者:行者123 更新时间:2023-11-30 15:11:51 25 4
gpt4 key购买 nike

我想从另一个应用程序的文本框中检索文本。第二个应用程序的 ProcessName 是“TestTextBox”,TextBox 的名称是“textBox1”。

我的代码,返回空字符串:

[DllImport("user32.dll")]
static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, long wParam, [MarshalAs(UnmanagedType.LPStr)] StringBuilder lParam);

Process[] processes = Process.GetProcessesByName("TestTextBox");
foreach (Process p in processes)
{
IntPtr pFoundWindow = p.MainWindowHandle;
const int WM_GETTEXT = 0x0D;
StringBuilder sb = new StringBuilder();
IntPtr retVal = SendMessage(pFoundWindow, WM_GETTEXT, 100, sb);
MessageBox.Show(sb.ToString());
}

最佳答案

什么是“另一个应用程序”?这是你正在写的东西吗?它可以在另一台机器上运行吗?在另一个域?在另一个用户帐户下?目标应用程序、表单或文本框是否会发生变化?您是否需要应用程序之间的异步(即非阻塞)通信?

如果其中任何一个问题的答案是"is",您应该考虑使用 .Net Remoting .这可从 .Net 2.0 获得。

关于c# - 从另一个应用程序获取文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1873404/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com