绕过禁用的选择
本文关键字:选择 | 更新日期: 2023-09-27 18:12:49
我有一个显示信息的程序(简单的文本,但不是在文本框中,看起来像。net中的标签),但禁用了选择和禁用了鼠标左键和右键。
我想写另一个程序(假设是c#,但也可以是其他语言),它作为一个用户,并将第一个程序显示的信息记录在txt文件中。
有一种方法,我可以得到周围禁用选择,鼠标左键和右键点击?
GetWindowText
windows API是你的朋友:
[DllImport("user32.dll", EntryPoint = "GetWindowText", ExactSpelling = false, CharSet = CharSet.Auto, SetLastError = true)]
private static extern int GetWindowText(IntPtr hWnd, StringBuilder lpWindowText, int nMaxCount);
您必须获得其他程序窗口的句柄,然后使用EnumChildWindows
在所有子窗口/控件上循环,然后针对所有这些句柄获取调用GetWindowText
的文本。在某些情况下,我猜你不会得到预期的结果,或者可能是一些控件没有暴露句柄。
[DllImport("user32")]
[return: MarshalAs(UnmanagedType.Bool)]
public static extern bool EnumChildWindows(IntPtr window, EnumWindowProc callback, IntPtr i);
有关如何使用EnumChildWindows
的详细信息和答案,请参阅此处:
为什么EnumChildWindows跳过孩子?
也看看这里的一些想法和例子…为什么GetWindowText挂起"关闭"处理但不使用随机的