Программно, как это применение обнаруживает, что программа готова к входу

Я должен создать маленькое приложение C#, которое измеряет времена запуска для определимого применения. Я нашел этот бесплатный инструмент:

http://www.passmark.com/products/apptimer.htm

Который делает точно, в чем я нуждаюсь, но меня попросили создать больше компании определенная внутренняя версия, поскольку мы требуем регистрации базы данных и нескольких других вещей.

Я понимаю, как копировать все особенности за исключением "Неработающего Входа". Я попытался искать этот термин, но я не нашел полезных ссылок. Кто-либо может указать мне в правильном направлении для проверки заявления "Вход Неработающее" государство?

3
nl ja de

3 ответы

Можно звонить

WaitForInputIdle( ProcessInfo.hProcess, INFINITE );

Ждет, пока указанный процесс не закончил обрабатывать свой начальный вход и ждет ввода данных пользователем без входного ожидания, или пока интервал перерыва не протек.

http://msdn.microsoft.com/en-us/library/windows/desktop/ms687022 (v=vs.85) .aspx

http://www.codeproject.com/Articles/137/Sending-a-message-to-the-Main-Frame-Window-of-Anot

7
добавлено
Дружественное напоминание, чтобы отметить ваш ответ.
добавлено автор EtherDragon, источник
Превосходный, который похож на него точно.
добавлено автор Dan, источник
@EtherDragon Там - минимальное ограничение по времени который hadn' t встреченный сначала. I' ve отметил другой ответ просто, потому что пользователь - более низкий представитель, и ответы были опубликованы одновременно.
добавлено автор Dan, источник

Это относится к Windows WaitForInputIdle API, который отзывает вас, когда applicaiton вошел в неработающее государство петли сообщения:

http://blogs.msdn.com/b/oldnewthing/archive/2010/03/25/9984720.aspx

7
добавлено
Превосходный, который похож на него точно.
добавлено автор Dan, источник

Система. У диагностики есть метод под названием Процесс. WaitForInputIdle (), который проверит, неработающий ли процесс.

Note: This will only work for programs with some sort of interface though (and a message loop).

MSDN для WaitForInoutIdle()

Check this previous question for a good example to get your started - all you'd need to do is add the idle method, and hook up the target process:

Also check this for some good suggestions on how to actually check if the target application has an interface. You will probably not need this though, since you are likely working with known applications.

5
добавлено
Microsoft Stack Jobs
Microsoft Stack Jobs
1 788 участник(ов)

Work & freelance only Microsoft Stack. Feed https://t.me/Microsoftstackjobsfeed Чат про F#: @Fsharp_chat Чат про C#: @CSharpChat Чат про Xamarin: @xamarin_russia Чат общения:@dotnettalks

Про Windows
Про Windows
941 участник(ов)

Microsoft Windows и всё, что с этим связано. Список интересных групп и каналов: https://github.com/goq/telegram-list

Microsoft Developer Community Chat
Microsoft Developer Community Chat
584 участник(ов)

Чат для разработчиков и системных администраторов Microsoft Developer Community. __________ Новостной канал: @msdevru __________ Баним за: оскорбления, мат, рекламу, флуд, флейм, спам, NSFW контент, а также большое количество оффтоп тем. @banofbot