Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Как закрыть приложение, зная его имя (calc.exe, например)  (Прочитано 10959 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Mr.Gluck
Гость
« : 15-07-2004 09:44 » 

другой способ есть, кроме как по заголовку?
PostMessage(FindWindow(Nil, 'Заголовок окна'), WM_QUIT, 0, 0);
Записан
Mr.Gluck
Гость
« Ответ #1 : 18-07-2004 12:55 » 

Да, закрыть calc.exe я смог, а вот outpost.exe - никак. мот кто поможет?

bool getProcessList( void )
{
    HANDLE hProcessSnap = NULL;
    HANDLE hProcess;
   
   bool bRet = false;
    PROCESSENTRY32 pe32 = {0};
 
    hProcessSnap = CreateToolhelp32Snapshot( TH32CS_SNAPPROCESS, 0 );

    if( hProcessSnap == INVALID_HANDLE_VALUE )
        return false;

    pe32.dwSize = sizeof(PROCESSENTRY32);
 
      if( Process32First( hProcessSnap, &pe32 ) )
    {
        DWORD dwPriorityClass;
        BOOL  bGotModule = FALSE;

        do
        {
            HANDLE hProcess;

            hProcess = OpenProcess (PROCESS_ALL_ACCESS, FALSE,  
            pe32.th32ProcessID);
            dwPriorityClass = GetPriorityClass( hProcess );
            CloseHandle( hProcess );
         
if(strcmp(pe32.szExeFile, "outpost.exe")==0)
      {MessageBox( NULL, pe32.szExeFile,"!!!", MB_OK );
      hProcess = OpenProcess (PROCESS_ALL_ACCESS,FALSE,    
                pe32.th32ProcessID);
           TerminateProcess(hProcess,0);

         }
      }
        while( Process32Next( hProcessSnap, &pe32 ) );

        bRet = true;
    }
    else
        bRet = false;

    CloseHandle( hProcessSnap );

    return bRet;
}
Записан
npak
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #2 : 18-07-2004 20:20 » 

Mr.Gluck, outpost работает как сервис, окошки это только пользовательский интерфейс.

Надо остановить сервис outpost, например из командной строки
net stop outpost (или как сервис у него называется)
Записан

UniTesK -- индустриальная технология надежного тестирования.

http://www.unitesk.com/ru/
Mr.Gluck
Гость
« Ответ #3 : 19-07-2004 06:09 » 

работает ))

WinExec("net stop ""Outpost Firewall Service""",SW_HIDE);
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines