Главная страница
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.013 c
1-64592
com6
2002-05-07 16:34
2002.05.20
нужна помосч: клава и как проверить не запещена ли уже прога


3-64460
maxim2
2002-04-24 22:21
2002.05.20
Можноли задать любой цвет для DBGrid или шапки DBGrig


14-64794
Win32
2002-04-09 12:28
2002.05.20
Microsoft и OpenSource? Да или Нет?


1-64590
Толик
2002-05-07 14:19
2002.05.20
И снова про копирование файлов, правда теперь по сетке.


3-64461
Саша
2002-04-25 07:46
2002.05.20
глюк Dbgrid