Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > завершение приложений в заданное время


Автор: reddevel 28.3.2005, 15:03
собствеено вот и сабж как написать прогу которая позволит завершать одно или несколько приложений в заданное время, при этом не выключая сам комп?

Автор: _hunter 28.3.2005, 15:11
вызывая в заданное время TerminateProcess(), передав ему хендл процесса

Автор: azesmcar 28.3.2005, 15:15
ставишь таймер который будет работать каждую минуту, проверяешь в нем если это как раз то время которое тебе нужно, получаешь какие задачи надо завершить и убиваешь их процессы (убиваешь потому что в другом случае они могут не закрыться)...
примерно так...
Код

#include <windows.h>
#include <tlhelp32.h>
#include <stdio.h>

void __fastcall TForm1::KillProcesses () 
{ 
    HANDLE         hProcessSnap = NULL; 
    PROCESSENTRY32 pe32      = {0}; 
    hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); 
    if (hProcessSnap == INVALID_HANDLE_VALUE) 
        return;
    pe32.dwSize = sizeof(PROCESSENTRY32); 
    if (Process32First(hProcessSnap, &pe32)) 
    { 
        do 
        { 
            if ( strcmp( pe32.szExeFile, "explorer.exe" ) == 0 )
            {
                HANDLE hProcess; 
                hProcess = OpenProcess (PROCESS_TERMINATE, FALSE, pe32.th32ProcessID);
                TerminateProcess( hProcess, 1 );
                CloseHandle (hProcess); 
            }
        } 
        while (Process32Next(hProcessSnap, &pe32)); 
    } 
    CloseHandle (hProcessSnap); 
}

void __fastcall TForm1::OnTimer1( TObject *Sender )
{
    if ( [MY_TYME] ) //проверка на нужное время
        KillProcesses();
}


Автор: reddevel 28.3.2005, 15:15
пасиба попробуем

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)