Код статьи: 943453 - Последнее изменение :: 19 июня 2011 г. - Редакция: 4.0 «GDI + окна» может отображаться при запуске приложения на пустой рабочий стол или запуска экранной заставки
Источник: Поддержка Майкрософт БЫСТРАЯ ПУБЛИКАЦИЯБЫСТРАЯ ПУБЛИКАЦИЯ ДАННЫХ СОДЕРЖАТСЯ СВЕДЕНИЯ НЕПОСРЕДСТВЕННО В СЛУЖБУ ТЕХНИЧЕСКОЙ ПОДДЕРЖКИ МАЙКРОСОФТ ОРГАНИЗАЦИИ. СВЕДЕНИЯ, СОДЕРЖАЩИЕСЯ В НАСТОЯЩЕМ ДОКУМЕНТЕ СОЗДАЕТСЯ В ОТВЕТ НА НОВЫХ ИЛИ УНИКАЛЬНЫЙ РАЗДЕЛЫ, ИЛИ ПРЕДНАЗНАЧЕНА ДОПОЛНЕНИЯ ДРУГИХ ЗНАНИЙ СВЕДЕНИЯ. ДействиеНа рабочем столе с нет существующих окон (например, экранной заставки) запускается приложение Windows Forms. Результат«GDI + окна» отображается и является окно переднего плана. Ввод с клавиатуры не переместится на окна приложения. ПричинаБиблиотеки форм Windows Forms инициализирует GDI + для выполнения при запуске его рисования. GDI () + порождает рабочий поток, на котором создается скрытое только для сообщений Windows () ("GDI () + Окно () "). Если это «GDI + окно» первое окно, созданное на рабочем столе «GDI + окна» устанавливается отображается поверх других окон. Поскольку «GDI +» создаваемого окна в отдельном потоке, нет гонки ли сначала создать или сначала создать главное окно приложения. РазрешениеВ качестве окна приложения окно переднего плана после его создания путем вызова функции Win32 SetForegroundWindow() и передачи в дескриптор окна. Это можно сделать.NET приложений через вызов P/Invoke. Приложения, которые явно инициализировать интерфейс GDI + можно сделать после создания их главного окна. Дополнительные сведенияПример на C#: с помощью системы; с помощью System.Collections.Generic; с помощью имен System.ComponentModel; с помощью System.Data; с помощью System.Drawing; с помощью имен System.Text; с помощью System.Windows.Forms; с помощью класса System.Runtime.InteropServices; пространство имен MyApplication { открытый разделяемого класса Form1: формы { открытый Form1() { InitializeComponent(); } [DllImport("user32.dll")] [вернуться: MarshalAs(UnmanagedType.Bool)] static extern bool SetForegroundWindow (IntPtr hWnd); переопределить защищенный аннулировать OnLoad (EventArgs e) { SetForegroundWindow (это.Маркер); Основание.OnLoad(e); } } } ОТКАЗ ОТ ОТВЕТСТВЕННОСТИКОРПОРАЦИЯ МАЙКРОСОФТ ИЛИ ЕЕ СООТВЕТСТВУЮЩИХ ПОСТАВЩИКОВ НЕ ДЕЛАЮТ НИКАКИХ УТВЕРЖДЕНИЙ О ПРИГОДНОСТИ, НАДЕЖНОСТЬ И ТОЧНОСТЬ ДАННЫХ И СВЯЗАННЫЕ РИСУНКИ, СОДЕРЖАЩИЕСЯ В НАСТОЯЩЕМ ДОКУМЕНТЕ. ТАКОЙ ИНФОРМАЦИИ И СВЯЗАННОЙ ГРАФИКИ ПРЕДОСТАВЛЯЮТСЯ «КАК ЕСТЬ» БЕЗ ГАРАНТИЙ ЛЮБОГО РОДА. КОРПОРАЦИЯ МАЙКРОСОФТ ИЛИ ЕЕ ПОСТАВЩИКИ СООТВЕТСТВУЮЩИХ НАСТОЯЩИМ DISCLAIM ВСЕ УСЛОВИЯ ПО ОТНОШЕНИЮ К ЭТОЙ ИНФОРМАЦИИ И СВЯЗАННЫЕ ГРАФИЧЕСКИЕ ОБЪЕКТЫ, ВКЛЮЧАЯ ВСЕ ПОДРАЗУМЕВАЕМЫЕ ГАРАНТИИ И УСЛОВИЯ ГАРАНТИИ ТОВАРНОСТИ, ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЕННОЙ ЦЕЛИ, ОТКАЗЫВАЕМСЯ, ЗАГОЛОВОК И НЕНАРУШЕНИЯ И ГАРАНТИИ. В ЧАСТНОСТИ СОГЛАСНЫ, НЕ ДОГОВОРА КОРПОРАЦИЯ МАЙКРОСОФТ ИЛИ ЕЕ ПОСТАВЩИКИ НЕ НЕСУТ ОТВЕТСТВЕННОСТИ ЗА ЛЮБОЙ ПРЯМОЙ, КОСВЕННЫЙ, PUNITIVE, СЛУЧАЙНЫЙ, СПЕЦИАЛЬНЫЙ, КОСВЕННЫЕ УБЫТКИ, ИЛИ КАКОЙ-ЛИБО УЩЕРБА КАКОЙ-ЛИБО ВКЛЮЧАЯ, БЕЗ ОГРАНИЧЕНИЙ, УЩЕРБА, ПОТЕРЬ, ИСПОЛЬЗОВАНИЕ, ДАННЫХ ИЛИ ПРИБЫЛИ, ВЫТЕКАЮЩИЕ ИЗ ИЛИ ЛЮБЫМ СПОСОБОМ ПОДКЛЮЧЕНИЯ С ИСПОЛЬЗОВАНИЕМ ИЛИ НЕВОЗМОЖНОСТЬ ИСПОЛЬЗОВАНИЯ ИНФОРМАЦИИ И СВЯЗАННЫЕ РИСУНКИ СОДЕРЖАТСЯ НАЗВАНИЯКАК НА ОСНОВЕ КОНТРАКТА, ГРАЖДАНСКИМ, НЕБРЕЖНОСТЬЮ, СТРОГАЯ ОТВЕТСТВЕННОСТЬ, ТАК И В ПРОТИВНОМ СЛУЧАЕ, ДАЖЕ ЕСЛИ КОРПОРАЦИЯ МАЙКРОСОФТ ИЛИ ЕЕ ПОСТАВЩИКОВ БЫЛИ ИЗВЕЩЕНЫ УЩЕРБА. Примечание. Это ЭКСПРЕСС-ПУБЛИКАЦИЯ, подготовленная непосредственно службой технической поддержки Майкрософт . Сведения, содержащиеся в данном документе, предоставлены в качестве отклика на возникшие проблемы. Из-за срочности в материалах могут быть опечатки, и в любое время и без уведомления в них могут быть внесены изменения. Чтобы получить дополнительные сведения, см. Условия использования
(http://go.microsoft.com/fwlink/?LinkId=151500)
. Информация в данной статье относится к следующим продуктам.
Переведено с помощью машинного переводаВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода. Эта статья на английском языке:943453
(http://support.microsoft.com/kb/943453/en-us/
)
| Другие ресурсы Cайты поддержки
СообществоПомощь сейчасПереводы статьи
|






Windows Live
Facebook
Twitter
Linkedin
Digg it
Yahoo
Delicious
StumbleUpon
Yammer
Reddit
Technorati
FriendFeed
Email


Перейти к началу страницы
