Вам нужно вызывать CheckMenuItem всякий раз, когда вы меняете Topmost.Подробнее см. Документ CheckMenuItem .Вот подпись P / Invoke и необходимые вам константы:
[DllImport("user32.dll")]
private static extern bool CheckMenuItem(IntPtr hMenu, Int32 uIDCheckItem, Int32 uCheck);
private const int MfChecked = 8;
private const int MfUnchecked = 0;
Теперь, чтобы проверить элемент, просто:
CheckMenuItem(systemMenuHandle, SettingsSysMenuId, MfChecked);
и снимите флажок:
CheckMenuItem(systemMenuHandle, SettingsSysMenuId, MfUnchecked);