Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 24.11.2007, 18:14   #1
Air
Профессионал
 
Аватар для Air
 
Регистрация: 30.04.2007
Адрес: Где-то рядом...
Сообщений: 1,297
Репутация: 372
Вопрос Как программно определить зависшее приложение?

Требуется код, который определял бы состояние другого приложения, т.е. завило приложение или нет.

Заранее благодарю.
__________________
Всё гениальное - просто!
Air вне форума   Ответить с цитированием
Старый 24.11.2007, 21:49   #2
Квэнди
Профессионал
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Адрес: Москва
Сообщений: 3,859
Репутация: 1192

icq: 637233
По умолчанию

хм.. не знал что у процесса есть параметр определяющих зависание, это скорее субъективный вывод
__________________
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума   Ответить с цитированием
Старый 25.11.2007, 15:19   #3
Air
Профессионал
 
Аватар для Air
 
Регистрация: 30.04.2007
Адрес: Где-то рядом...
Сообщений: 1,297
Репутация: 372
По умолчанию

Не знаю точно, но должно быть какое-то сообщение в системе отнасительно процесса.

Может нужно послать какое-то сообщение процессу, что б узнать его состояние.

У меня проблема с "Empire Earth - Art Of Conquest", когда я создаю не коректный скрипт, игра конкретно зависает (не сворачивается), мне нужно как-то это определить программно.
__________________
Всё гениальное - просто!
Air вне форума   Ответить с цитированием
Старый 25.11.2007, 15:43   #4
Carbon
JAVA BEAN
Профессионал
 
Аватар для Carbon
 
Регистрация: 22.04.2007
Адрес: Воронеж
Сообщений: 1,338
Репутация: 516

skype: gladkov_3dfan
По умолчанию

Не определить. Программа может казаться подвисшей, а на самом деле просто долго считать.
__________________
http://i.imgur.com/oCA5O.png
Carbon вне форума   Ответить с цитированием
Старый 25.11.2007, 16:10   #5
Квэнди
Профессионал
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Адрес: Москва
Сообщений: 3,859
Репутация: 1192

icq: 637233
По умолчанию

Вобщем алгоритм только твой и как я написал вывод только субъективный, вот что может тебе помочь:

GetProcessTimes

Retrieves timing information for the specified process.


BOOL WINAPI GetProcessTimes(
HANDLE hProcess,
LPFILETIME lpCreationTime,
LPFILETIME lpExitTime,
LPFILETIME lpKernelTime,
LPFILETIME lpUserTime
);

Parameters
hProcess
[in] A handle to the process whose timing information is sought. This handle must be created with the PROCESS_QUERY_INFORMATION access right. For more information, see Process Security and Access Rights.
lpCreationTime
[out] A pointer to a FILETIME structure that receives the creation time of the process.
lpExitTime
[out] A pointer to a FILETIME structure that receives the exit time of the process. If the process has not exited, the content of this structure is undefined.
lpKernelTime
[out] A pointer to a FILETIME structure that receives the amount of time that the process has executed in kernel mode. The time that each of the threads of the process has executed in kernel mode is determined, and then all of those times are summed together to obtain this value.
lpUserTime
[out] A pointer to a FILETIME structure that receives the amount of time that the process has executed in user mode. The time that each of the threads of the process has executed in user mode is determined, and then all of those times are summed together to obtain this value.


GetProcessMemoryInfo

Retrieves information about the memory usage of the specified process.


BOOL WINAPI GetProcessMemoryInfo(
HANDLE Process,
PPROCESS_MEMORY_COUNTERS ppsmemCounters,
DWORD cb
);

Parameters
Process
[in] Handle to the process. The handle must have the PROCESS_QUERY_INFORMATION and PROCESS_VM_READ access rights. For more information, see Process Security and Access Rights.
ppsmemCounters
[out] Pointer to the PROCESS_MEMORY_COUNTERS or PROCESS_MEMORY_COUNTERS_EX structure that receives information about the memory usage of the process.
cb
[in] Size of the ppsmemCounters structure, in bytes.
__________________
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума   Ответить с цитированием
Старый 26.11.2007, 01:30   #6
Air
Профессионал
 
Аватар для Air
 
Регистрация: 30.04.2007
Адрес: Где-то рядом...
Сообщений: 1,297
Репутация: 372
По умолчанию

OK, проверю, благодарю.
__________________
Всё гениальное - просто!
Air вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Среди 20 введёных чисел определить чётные, распечатать их, определить min Spade Помощь студентам 4 15.06.2008 18:39
Программно нажать кнопку DeDoK Общие вопросы Delphi 2 04.05.2008 21:46
программно из *.tif to *.jpg Abbatik Помощь студентам 1 21.02.2008 00:55
jpg в image1 программно Лёка Мультимедиа в Delphi 3 12.01.2008 01:16
Программно связать таблицы Таня84 БД в Delphi 0 20.03.2007 19:43


07:39.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru