title: Opening Win32 system AutoComplete programatically
body: <p>I use auto completion in a WinForms ComboBox via <code>AutoCompleteMode</code> <code>SuggestAppend</code> and <code>AutoCompleteSource</code> <code>ListItems</code>.</p>
  <p>When the box is empty and receives Focus I would like the to show the AutoComplete Dropdown immediately.</p>
  <p>Note: I do not mean to open the ComboBox dropdown like</p>
  <pre><code>private void comboBox1_Enter(object sender, EventArgs e)
  {
      ((ComboBox)sender).DroppedDown = true;
  }
  </code></pre>
  <p>(which is a common answer to this question) because the full dropdown is markably different from the more lightweight AutoComplete dropdown, as seen in the comparison:<br />
  <a href="https://i.stack.imgur.com/abuwp.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/abuwp.png" alt="DropDown Comparison" /></a></p>
  <p>As far as I found, in Win32 the AutoComplete is set up using <code>SHAutoComplete</code> (<a href="https://docs.microsoft.com/en-us/windows/win32/api/shlwapi/nf-shlwapi-shautocomplete" rel="nofollow noreferrer">link</a>) from <code>shlwapi.dll</code>, however I couldn't find any interaction functions for it.</p>
  <p>So, is there a way to open the AutoComplete Dropdown programatically, e.g. via P/Invoke?</p>
  <p>Thanks.</p>