Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 2004.01.20;
Скачать: [xml.tar.bz2];

Вниз

Как узнать запушена ли программа написанная на winapi   Найти похожие ветки 

 
dream   (2003-11-06 11:26) [0]

Простые программы можно найти так FindWindow("TxGg_cl",nil)
Но это те программы которые имеют окна , а если программа не имеет окна ? написанна на winapi .

Подскажите пожайлуста


 
han-bratan   (2003-11-06 11:29) [1]

нНужно перечислить все процессы в системе, получить имя файла который вызвал этот процесс, и сравнить имя икомой проги со всеми именами файлов-процессов уже запущенных.


 
dream   (2003-11-06 11:31) [2]

> han-bratan

А попроще никак нельзя ? Я в пришципе могу так сделать но считаю что это не выход

Толи код if FindWindow("TxGg_cl",nil) = 0 then

либо твоим советом код займёт 10 - 20 строчек + потеряет функциональность !


 
Dima_dvp   (2003-11-06 11:46) [3]

FindWindow переводиться найти окно - сам подумай возможно ли найти окно которого нет.....


 
dream   (2003-11-06 11:49) [4]

> Dima_dvp

Это то я знаю ! а есть ли что то наподобии Findproces ?


 
Vorobyev Sergey   (2003-11-06 11:55) [5]

Давай просто логически подумаем:
Программа это что - это процесс, и ничего другого она представлять не может.
Значит надо искать среди процессов..
Т.к. FindProcess вроде бы не существует, то только с помощью методики от [1] han-bratan (06.11.03 11:29)


> Я в пришципе могу так сделать но считаю что это не выход
>

Если сможешь, сделай.. Что значит не выход? Это и есть выход..
Медленно, не думаю..


 
Fiend   (2003-11-06 12:10) [6]

Пользуй Мьютекс.


 
dream   (2003-11-06 12:15) [7]

> Fiend

Это мысль ! но Мьютекс не надёжен ! сам не раз убеждался


 
Юрий Зотов   (2003-11-06 12:17) [8]

> Fiend © (06.11.03 12:10) [6]

И как же его в этой ситуации пользовать?
И для чего?
И что он даст?
И как это поможет решить задачу?
И для чего вводить людей в заблуждение?


 
Юрий Зотов   (2003-11-06 12:19) [9]

> dream (06.11.03 12:15) [7]

> Это мысль!
Безусловно. Но не имеющая к вопросу никакого отношения.

> но Мьютекс не надёжен ! сам не раз убеждался
Есть такой драйвер - руки.sys. И иногда он бывает кривым. Но мьютексы в этом не виноваты.


 
Fiend   (2003-11-06 12:27) [10]

То Юрий Зотов © (06.11.03 12:17) [8]
Кто мешает при запуске софта первым делом проверять существует ли в системе Мьютекс с таким то имененм, где имя какая либо уникальная строка. Если его нет, то продолжаем загрузку. Иначе прерываемся.
Что сложного или неприменимого???


 
Юрий Зотов   (2003-11-06 12:33) [11]

> Fiend © (06.11.03 12:27) [10]

Никто не мешает. Это стандартный способ блокировки повторного запуска СВОЕЙ программы.

Но кто сказал, что это поможет найти произвольную запущенную программу? Разве все программы обязаны создавать мьютексы?


 
Fiend   (2003-11-06 12:35) [12]

То Юрий Зотов © (06.11.03 12:33) [11]
Ну я так понял из вопроса что софт написан автором же, посему вставить в него кусок кода несложно. К тому же софт, опять же насколько я понял, должен блокировать повторный запуск себя а не кого то другого.
или я неверно понял вопрос???


 
dream   (2003-11-06 12:37) [13]

> Юрий Зотов

> Разве все программы обязаны создавать мьютексы?

Программа без окон тожк моя разработка , так что можно попробывать и с Мьютексами


 
Юрий Зотов   (2003-11-06 12:38) [14]

> Fiend © (06.11.03 12:35) [12]

Я не знаю, верно ли Вы поняли вопрос, или неверно. Автор этого не уточняет. Но сам вопрос звучит так: "Как узнать запушена ли программа написанная на winapi". Здесь нет ни слова о том, что программа именно своя и что надо блокировать ее повторный запуск. Не прозвучало этого и в обсуждении.


 
Fiend   (2003-11-06 12:39) [15]

То dream (06.11.03 12:37) [13]
значит я всё же правильно понял вопрос. В чём тогда загвоздка? Примеров валом


 
Fiend   (2003-11-06 12:40) [16]

То Юрий Зотов © (06.11.03 12:38) [14]
он всё же признался в деталях ;)
(
> dream (06.11.03 12:37) [13]
)


 
dream   (2003-11-06 12:41) [17]

нет просто без окон та программа которая делает обновление основного EXE файла , тут же есть сервис который проверяет находиться ли в памяти главная программа EXE и при её отсутствии загружает её в память , но если проводить обновление то Основная программа будет выключена ( то есть будет обновляться ) и если в это время её запустит сервис то все усилия по обнавлению сведуться на нет ! так что я хотел реализовать в сервисе проверку работает ли обновляющая программа ( то есть прога на winapi ) !

Вот так


 
Юрий Зотов   (2003-11-06 12:41) [18]

> dream (06.11.03 12:37) [13]

Тогда, во-первых, задавайте вопросы так, чтобы Вас правильно и ТОЧНО поняли. Во-вторых, можно использовать не только мьютексы, а вообще любые объекты ядра. В-третьих, см. сюда:
http://www.delphikingdom.ru/helloworld/samples_win.htm#link11


 
dream   (2003-11-06 12:43) [19]

Всем спасибо ! буду пробывать



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

Форум: "Система";
Текущий архив: 2004.01.20;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.009 c
1-63220
Kremen
2004-01-09 16:22
2004.01.20
Загрузка русского текста в Memo, RichEdit.....


1-63201
ИМХО
2004-01-10 05:09
2004.01.20
Системы счисления


14-63322
ИМХО
2003-12-30 22:37
2004.01.20
Шрифты (кириллица)


14-63342
Ru
2003-12-30 11:06
2004.01.20
вот смотрю я и думаю (да уменю)


11-63046
Интересующийся
2003-02-01 01:06
2004.01.20
А зачем? =)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский