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

Заранее благодарен.
...
Рейтинг: 0 / 0
01.06.2007, 11:11
    #34566972
sashka304
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запущен ли Access?
наверно можно. получи список запущенных процессов и поищи в нем msaccess если есть - то запущен, если нет - то не запущен.
...
Рейтинг: 0 / 0
01.06.2007, 11:21
    #34567028
sashka304
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запущен ли Access?
в честь тяпницы вот тебе код и не мучайся
Код: 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
01.06.2007, 11:58
    #34567214
vah
vah
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запущен ли Access?
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
01.06.2007, 13:27
    #34567655
sashka304
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запущен ли Access?
ну незнаю.. по таймеру проверяй или в отдельном потоке реализуй проверку...
...
Рейтинг: 0 / 0
06.06.2007, 13:17
    #34577496
vah
vah
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запущен ли Access?
sashka304ну незнаю.. по таймеру проверяй или в отдельном потоке реализуй проверку...

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

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


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