标题部分是静态的,带有变量后缀.例如"Window Title { - user_id}".
如何在不知道确切标题的情况下获取句柄?
查看所有进程并检查MainWindowTitle.(你可以使用正则表达式,或者StartsWith
等)
foreach(Process proc in Process.GetProcesses()) { if(proc.MainWindowTitle.StartsWith("Some String")) { IntPtr handle = proc.MainWindowHandle; // ... } }
此CodeProject文章描述了如何枚举顶级窗口(基于Win32 API EnumWindows).您可以轻松修改它以过滤部分窗口标题:修改EnumWindowsCallBack.
HTH.