title: How to find a window with known lpClassName but multilingual lpWindowName
body: <p>I'm trying to find the sound control panel window via <a href="https://msdn.microsoft.com/en-us/library/windows/desktop/ms633499(v=vs.85).aspx" rel="nofollow">FindWindow</a>. Since the application is used in multiple languages lpWindowName changes for example "Sound" becomes "Ääni" on a Finnish system. However the lpClassName stays the same.</p>
  
  <pre><code>        // Get a handle to an application window.
          [DllImport("USER32.DLL", CharSet = CharSet.Unicode)]
          public static extern IntPtr FindWindow(string lpClassName,
          string lpWindowName);
  
          //  The window class and window name
          //  were obtained using the Spy++ tool.
          IntPtr soundHandle = FindWindow("#32770", "Sound");
  
          // Verify that Sound is a running process.
          if (soundHandle == IntPtr.Zero)
          {
              System.Windows.MessageBox.Show("Sound is not running.");
              return;
          }
  </code></pre>
  
  <p>I have searched and cannot find a way to grab a window based upon it's lpClassName alone. I believe this is because it can change for most windows, this doesn't seem to be the case for Sound control panel.</p>
  
  <p>Is there a way around the lpWindowName changing on different language systems?</p>
  
  <p>Thank you for reading.</p>