Сейчас на форуме: tyns777 (+5 невидимых) |
eXeL@B —› Программирование —› Запуск созданных приложений для Delphi |
Посл.ответ | Сообщение |
|
Создано: 12 января 2008 07:22 · Личное сообщение · #1 |
|
Создано: 12 января 2008 07:30 · Личное сообщение · #2 Pirit пишет: как можно сделать чтобы приложение запускалась при нажатии определенных клавиш Вешай глобальный хук на клавиатуру Pirit пишет: или при запуске каких либо других программ Перехватывай WinAPI Во избежание последующих вопросов: www.google.com/search?client=opera&rls=ru&q=Delphi+%D0%BA%D0%BB%D0%B0%D0%B2%D0%B8%D0%B0%D1%82%D1%83%D1%80%D0%BD%D1%8B%D0%B9+%D0%BF%D0%B5%D1%80%D0%B5%D1%85%D0%B2%D0%B0%D1%82&sourceid=opera&ie=utf-8&oe=utf-8 www.google.com/search?hl=ru&client=opera&rls=ru&hs=VyX&q=Delphi+%D0%BF%D0%B5%D1%80%D0%B5%D1%85%D0%B2%D0%B0%D1%82+WinAPI&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA&lr= ----- Yann Tiersen best and do not fuck |
|
Создано: 12 января 2008 08:59 · Личное сообщение · #3 Можно сделать программку, которая будет висеть в памяти и проверять нажаты ли нужные клавиши, и перебирать список процессов, искать в нем определенное имя и найдя запускать твою программу. Кстати хук на клаву необязательно ставить, можно воспользоваться GetAsyncKeyState'ом, тока в таймере надо будет поменьше интервал поставить. WinAPI (CreateProcess) тоже перехватывать не обязательно, можно опять же обойтись таймером и перебором списка процессов (хотя правильней было бы, как и в первом случае использовать хук на клаву). ----- The truth is out of there... |
|
Создано: 12 января 2008 18:44 · Личное сообщение · #4 |
|
Создано: 12 января 2008 20:05 · Поправил: MACKLIA · Личное сообщение · #5 Pirit вот пример получения списка запущенных приложений procedure TForm1.Button1Click(Sender: TObject); var Wnd: hWnd; buff: array [0..127] of char; begin ListBox1.Clear; Wnd := GetWindow(Handle, gw_HWndFirst); while Wnd <> 0 do begin // Не показываем: if (Wnd <> Application.Handle) // Собственное окно and IsWindowVisible(Wnd) // Невидимые окна and (GetWindow(Wnd, gw_Owner) = 0) // Дочерние окна and (GetWindowText(Wnd, buff, sizeof(buff)) <> 0) then begin GetWindowText(Wnd, buff, sizeof(buff)); ListBox1.Items.Add(StrPas(buff)); end; Wnd := GetWindow(Wnd, gw_hWndNext); end; ListBox1.ItemIndex := 0; end; P.S. а вообще почитай ссылки ,которые тебе PE_Kill дал. ----- Что один человек сделал , другой всегда сломать может... |
|
Создано: 13 января 2008 02:53 · Личное сообщение · #6 |
|
Создано: 13 января 2008 04:00 · Личное сообщение · #7 |
|
Создано: 13 января 2008 12:28 · Личное сообщение · #8 SecurAdmin пишет: Lumen пишет: тока в таймере надо будет поменьше интервал поставить. Чтото сдается мне, что после уменьшения интервала система больше ничем заниматься не будет, кроме как отловом нажатых клавиш Кинул на форму таймер, поставил у него интервал 1 мс. В обработчике onTimer написал: if GetAsyncKeyState(VK_RETURN)<>0 then showmessage('a'); Запустил. Загрузка процессора - 5%. Могу проект прикрепить... ----- The truth is out of there... |
|
Создано: 13 января 2008 13:07 · Поправил: MACKLIA · Личное сообщение · #9 |
|
Создано: 13 января 2008 16:39 · Личное сообщение · #10 |
|
Создано: 13 января 2008 17:33 · Личное сообщение · #11 SaNX пишет: Lumen пишет: Запустил. Загрузка процессора - 5%. Могу проект прикрепить... надо сделать в функе таймера обработку мессаг, что-то типа Application.ProcessMessages или как-то так ;) Application.ProcessMessages - типа создание эффекта многозадачности , тока нафига это в данном случае ? ----- Что один человек сделал , другой всегда сломать может... |
|
Создано: 13 января 2008 17:56 · Личное сообщение · #12 |
|
Создано: 13 января 2008 18:14 · Личное сообщение · #13 |
|
Создано: 13 января 2008 21:03 · Поправил: MACKLIA · Личное сообщение · #14 Pirit пишет: Прикрепи проект если можно Да в обработчике onTimer написать строку if GetAsyncKeyState(VK_RETURN)<>0 then showmessage('a') - это ,что проект ? И накой он тебе Pirit нужен ? Топ вообще пора уже закрывать ,так как его автор все необходимые рекомендации уже получил ,а готовую прогу за него врядли кто писать будет. ----- Что один человек сделал , другой всегда сломать может... |
|
Создано: 13 января 2008 22:29 · Личное сообщение · #15 Pirit Вот пожалуйста. Только там всего одна строчка кода, остальное среда сгенерила... Если интересуют какие-то конкретные моменты реализации - пиши в личку или в аську стучись. d2c9_13.01.2008_CRACKLAB.rU.tgz - project.rar ----- The truth is out of there... |
|
Создано: 13 января 2008 23:06 · Поправил: MACKLIA · Личное сообщение · #16 Lumen пишет: Вот пожалуйста. Только там всего одна строчка кода, остальное среда сгенерила... Пиздец какойто ,Pirit если ты даже не знаешь как использовать Timer то оставь свою затею и займись задачами полегче P.S. модераторы закройте тему ,ато скоро на форуме будут вопросы как бросать на форму компоненты или изменять размер кнопок мышкой , и на это последуют ответы Хотя начиналось всё неплохо... ----- Что один человек сделал , другой всегда сломать может... |
|
Создано: 13 января 2008 23:29 · Личное сообщение · #17 |
eXeL@B —› Программирование —› Запуск созданных приложений для Delphi |
Эта тема закрыта. Ответы больше не принимаются. |