Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.05.20;
Скачать: CL | DM;

Вниз

нужна помосч: клава и как проверить не запещена ли уже прога   Найти похожие ветки 

 
com6   (2002-05-07 16:34) [0]

1) как проверить, может быть моя программа уже запущенна на конкретном компе?
2) подскажите КОНКРЕТНО как сделать на дельфях 6-ых: если не нажимались клавишиклавиатуры в течении какого-то времени, сделать то-то. я заню, что надо использовать таймер и уже догадался как. вопрос в том, как проверить, нажимались ли клавиши. пример с DLL (тот что предлагается в faq просто не пошел).

буду благодарен за любую помошь. запишу в tanks to!


 
Fellomena   (2002-05-07 16:41) [1]

1). см. Mutex, CreateMutex
2). Устанавливаешь хук WH_KEYBOARD и если в течении некоторого промужутка времени была нажата некая кнопка - изменяешь флаговую переменную, коотрая должна располагаться в области, доступной твоему процессу (см. Memory Mapped Files - файлы отображённые в память; можно писать в файл), или можно воспользоваться сообщениями, т.е. когда происходит нажатие из кода обработки ловушки посылаешь своему приложению сообщение, дальше думаю понятно.


 
DenKop ©   (2002-05-07 18:10) [2]

1)
procedure SendMesCopyProg;
var
Wnd : hWnd;
buff: array [0..127] of Char;
begin
Wnd := GetWindow(Application.Handle, gw_HWndFirst);
while Wnd <> 0 do
begin
if (Wnd<>Application.Handle) and
(GetWindow(Wnd, gw_Owner) = 0) and
(GetWindowText(Wnd, buff, sizeof(buff)) <> 0)
then
begin
GetWindowText(Wnd, buff, sizeof(buff));
if (StrPas(buff)="CryptoGraph") then
begin
PostMessage(wnd,10000,1000,0);
Exit;
end;
end;
Wnd := GetWindow(Wnd, gw_hWndNext);
end;
end;

procedure TForm1.AppMessage(var Msg: TMsg; var Handled: Boolean);
begin
if msg.message=10000 then
Application.Terminate;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
...
Application.OnMessage := AppMessage;
...
end;

В разделе Private пишешь
procedure AppMessage(var Msg: TMsg; var Handled: Boolean);

При запуске копии программы закрывется та, которая была запущена раньше.



Страницы: 1 вся ветка

Текущий архив: 2002.05.20;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.012 c
3-64508
Programmer1
2002-04-23 08:53
2002.05.20
Свойства TDateEdit из RXLibs


3-64544
Glonia Zbanov
2002-04-24 11:05
2002.05.20
поиск MSSQL


1-64681
Марина
2002-05-06 10:45
2002.05.20
FastReport и строковые поля


3-64557
Mustang
2002-04-24 14:09
2002.05.20
Еще раз о загаловках в DBGrid....


14-64826
J_S
2002-04-10 15:23
2002.05.20
Помогите идентифицировать вирус