Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Завершение потоков

9.5K
11 марта 2007 года
zergman
53 / / 09.11.2006
Есть программа, когда юзер к ней продрубается создается поток TThread.
Все работает нормально, вот только надо отключить всех юзеров тоесть завершить все потоки при нажатии одной кнопочки в приложении...
Пробовал Thread->Terminate() - завершает тока первый поток.
Есть какие либо идеи?
Заранее благодарю!
1
11 марта 2007 года
kot_
7.3K / / 20.01.2000
Цитата: zergman
Есть программа, когда юзер к ней продрубается создается поток TThread.
Все работает нормально, вот только надо отключить всех юзеров тоесть завершить все потоки при нажатии одной кнопочки в приложении...
Пробовал Thread->Terminate() - завершает тока первый поток.
Есть какие либо идеи?
Заранее благодарю!


Я бы не рекомендовал использовать ТThread - используйте CreateThread например - и сохраняйте хендл процесса в массив. Думаю мысль понятна? В принципе тот же трюк можно применить и для билдеровского класса - но ИМХО какой то он корявый.

9.5K
12 марта 2007 года
zergman
53 / / 09.11.2006
Вот кому надо:
Код:
HANDLE hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPTHREAD, 0);
   
    HANDLE hThread;
    THREADENTRY32 thread = { 0 };
    thread.dwSize = sizeof(THREADENTRY32);

    if (Thread32First(hSnap, &thread))
    {
        do {
            if (thread.th32OwnerProcessID == GetCurrentProcessId() && thread.th32ThreadID != GetCurrentThreadId())
            {

                hThread = OpenThread(THREAD_TERMINATE, 0, thread.th32ThreadID);            
                TerminateThread(hThread, 0);
                CloseHandle(hThread);
            }

        } while (Thread32Next(hSnap, &thread));
    }
    CloseHandle(hSnap);


Функция работает, убивает все потоки кроме главного...
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог