powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Запущен ли Access?
11 сообщений из 11, страница 1 из 1
Запущен ли Access?
    #34566575
Фотография vah
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скажите пожалуйста, как можно проверить в Builder6, запущен ли сейчас Access?

Заранее благодарен.
...
Рейтинг: 0 / 0
Запущен ли Access?
    #34566972
Фотография sashka304
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
наверно можно. получи список запущенных процессов и поищи в нем msaccess если есть - то запущен, если нет - то не запущен.
...
Рейтинг: 0 / 0
Запущен ли Access?
    #34567028
Фотография sashka304
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в честь тяпницы вот тебе код и не мучайся
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
bool __fastcall TForm1::AFound(void)
{
HANDLE hProcessSnap;
BOOL bFound = false;
PROCESSENTRY32 pe32 = { 0 };

hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,  0 );
if (hProcessSnap != (HANDLE)- 1 )
{
pe32.dwSize = sizeof(PROCESSENTRY32);
if (Process32First(hProcessSnap, &pe32))
{
do bFound =
(AnsiString(pe32.szExeFile).UpperCase().AnsiPos("MSACCESS.EXE") !=  0 );
while (!bFound && Process32Next(hProcessSnap, &pe32));
}
CloseHandle (hProcessSnap);
}
return bFound;
}

void __fastcall TForm1::Button1Click(TObject *Sender)
{
   if(AFound())
     ShowMessage("запущена торпеда");
   else
     ShowMessage("можно запускать");

}
...
Рейтинг: 0 / 0
Запущен ли Access?
    #34567214
Фотография vah
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sashka304в честь тяпницы вот тебе код и не мучайся
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
bool __fastcall TForm1::AFound(void)
{
HANDLE hProcessSnap;
BOOL bFound = false;
PROCESSENTRY32 pe32 = { 0 };

hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,  0 );
if (hProcessSnap != (HANDLE)- 1 )
{
pe32.dwSize = sizeof(PROCESSENTRY32);
if (Process32First(hProcessSnap, &pe32))
{
do bFound =
(AnsiString(pe32.szExeFile).UpperCase().AnsiPos("MSACCESS.EXE") !=  0 );
while (!bFound && Process32Next(hProcessSnap, &pe32));
}
CloseHandle (hProcessSnap);
}
return bFound;
}

void __fastcall TForm1::Button1Click(TObject *Sender)
{
   if(AFound())
     ShowMessage("запущена торпеда");
   else
     ShowMessage("можно запускать");

}


Большое спасибо. А как лучше сделать, мне нужно что бы сообщение выскочило
после закрытия Access? В цикле вроде не красиво.
...
Рейтинг: 0 / 0
Запущен ли Access?
    #34567655
Фотография sashka304
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну незнаю.. по таймеру проверяй или в отдельном потоке реализуй проверку...
...
Рейтинг: 0 / 0
Запущен ли Access?
    #34577496
Фотография vah
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sashka304ну незнаю.. по таймеру проверяй или в отдельном потоке реализуй проверку...

Я не могу найти таймер. Как он здесь называется?
...
Рейтинг: 0 / 0
Запущен ли Access?
    #34577527
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Жжёшь
TTimer
ищи его на вкладке System, там ещё часики такие...
...
Рейтинг: 0 / 0
Запущен ли Access?
    #34577549
Фотография vah
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
egorychЖжёшь
TTimer
ищи его на вкладке System, там ещё часики такие...

Не слышу тик-так
...
Рейтинг: 0 / 0
Запущен ли Access?
    #34577825
Фотография vah
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sashka304в честь тяпницы вот тебе код и не мучайся
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
bool __fastcall TForm1::AFound(void)
{
HANDLE hProcessSnap;
BOOL bFound = false;
PROCESSENTRY32 pe32 = { 0 };

hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,  0 );
if (hProcessSnap != (HANDLE)- 1 )
{
pe32.dwSize = sizeof(PROCESSENTRY32);
if (Process32First(hProcessSnap, &pe32))
{
do bFound =
(AnsiString(pe32.szExeFile).UpperCase().AnsiPos("MSACCESS.EXE") !=  0 );
while (!bFound && Process32Next(hProcessSnap, &pe32));
}
CloseHandle (hProcessSnap);
}
return bFound;
}

void __fastcall TForm1::Button1Click(TObject *Sender)
{
   if(AFound())
     ShowMessage("запущена торпеда");
   else
     ShowMessage("можно запускать");

}


Не может определить PROCESSENTRY32. Почему?
...
Рейтинг: 0 / 0
Запущен ли Access?
    #34579531
Фотография sashka304
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
дык...
Код: plaintext
#include <tlhelp32.h> // needed for tool help declarations 
...
Рейтинг: 0 / 0
Запущен ли Access?
    #34579780
Фотография vah
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Запущен ли Access?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]