获取具有未完全已知标题的窗口的句柄.(C#)

Sve*_*ven 5 c# api

标题部分是静态的,带有变量后缀.例如"Window Title { - user_id}".

如何在不知道确切标题的情况下获取句柄?

Dan*_*ant 14

查看所有进程并检查MainWindowTitle.(你可以使用正则表达式,或者StartsWith等)

foreach(Process proc in Process.GetProcesses())
{
   if(proc.MainWindowTitle.StartsWith("Some String"))
   {
      IntPtr handle = proc.MainWindowHandle;
      // ...
   }
}
Run Code Online (Sandbox Code Playgroud)


Ser*_*ier 5

此CodeProject文章描述了如何枚举顶级窗口(基于Win32 API EnumWindows).您可以轻松修改它以过滤部分窗口标题:修改EnumWindowsCallBack.

HTH.