Помогите начинающему... Нужно чтобы моя программа работала только если запушена и в данный момент активна другая программ. Пытаюсь...
AppWnd:= GetForegroundWindow();
id:=FindWindow('OWL_Window','Имя программы');
if id=AppWnd then
begin
....
end;
Почему то не выходит... хотя программа запущена и активна.
Re: Как наити нужную программу???
От:
Аноним
Дата:
10.11.03 15:59
Оценка:
Здравствуйте, Johnson, Вы писали:
J>Помогите начинающему... Нужно чтобы моя программа работала только если запушена и в данный момент активна другая программ. Пытаюсь... J>
J> AppWnd:= GetForegroundWindow();
J> id:=FindWindow('OWL_Window','Имя программы');
J> if id=AppWnd then
J> begin
J>....
J> end;
J>
J>Почему то не выходит... хотя программа запущена и активна.
Попробуй для начала
hwnd:= FindWindow(nil,'Заголовок программы');
if hwnd<>0 then Оно ...
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, Johnson, Вы писали:
J>>Помогите начинающему... Нужно чтобы моя программа работала только если запушена и в данный момент активна другая программ. Пытаюсь... J>>
J>> AppWnd:= GetForegroundWindow();
J>> id:=FindWindow('OWL_Window','Имя программы');
J>> if id=AppWnd then
J>> begin
J>>....
J>> end;
J>>
J>>Почему то не выходит... хотя программа запущена и активна.
А>Попробуй для начала
А> hwnd:= FindWindow(nil,'Заголовок программы'); А> if hwnd<>0 then Оно ...
Попробовал при запущенном приложении работает, при выключенном нет...
Re[3]: Как наити нужную программу???
От:
Аноним
Дата:
10.11.03 16:09
Оценка:
А>>Попробуй для начала
А>> hwnd:= FindWindow(nil,'Заголовок программы'); А>> if hwnd<>0 then Оно ...
J>Попробовал при запущенном приложении работает, при выключенном нет...
Помню кто-то пытался включить программно компьютер, это случайно не из той же серии ?
А>>>Попробуй для начала
А>>> hwnd:= FindWindow(nil,'Заголовок программы'); А>>> if hwnd<>0 then Оно ...
J>>Попробовал при запущенном приложении работает, при выключенном нет...
А>Помню кто-то пытался включить программно компьютер, это случайно не из той же серии ?
К сожалению нет...
Re[5]: Как наити нужную программу???
От:
Аноним
Дата:
10.11.03 16:17
Оценка:
Здравствуйте, Johnson, Вы писали:
J>Здравствуйте, Аноним, Вы писали:
А>>>>Попробуй для начала
А>>>> hwnd:= FindWindow(nil,'Заголовок программы'); А>>>> if hwnd<>0 then Оно ...
J>>>Попробовал при запущенном приложении работает, при выключенном нет...
А>>Помню кто-то пытался включить программно компьютер, это случайно не из той же серии ?
J>К сожалению нет...
А что значить не работает при выключенном приложении ? Твоем ? или то чье окно ищется...?
Помоему в любом случае очевидно что и не должно, т.к. в первом — твой код проверки уже не исполняется , во втором — окна нету которое пытаешся найти и возвращается 0.
Если возвращается не 0 значит есть еще одно окно с таким же заголовком , проверь не называется твоя форма в среде разработки таким же именем
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, Johnson, Вы писали:
J>>Здравствуйте, Аноним, Вы писали:
А>>>>>Попробуй для начала
А>>>>> hwnd:= FindWindow(nil,'Заголовок программы'); А>>>>> if hwnd<>0 then Оно ...
J>>>>Попробовал при запущенном приложении работает, при выключенном нет...
А>>>Помню кто-то пытался включить программно компьютер, это случайно не из той же серии ?
J>>К сожалению нет...
А>А что значить не работает при выключенном приложении ? Твоем ? или то чье окно ищется...? А>Помоему в любом случае очевидно что и не должно, т.к. в первом — твой код проверки уже не исполняется , во втором — окна нету которое пытаешся найти и возвращается 0.
А>Если возвращается не 0 значит есть еще одно окно с таким же заголовком , проверь не называется твоя форма в среде разработки таким же именем
Моё приложение запущено постоянно. Пребуется чтобы оно совершало определённые действия если в данный момент активно другое, определённое приложение. При закрытом приложении понятно что будет возвращатся 0, но если оно свёрнуто в иконку то возвращатся 0 уже не будет. А моё приложение всё равно будет работать, даже если активно в данный момент совершенно другое приложение.
Re[7]: Как наити нужную программу???
От:
Аноним
Дата:
10.11.03 16:52
Оценка:
Здравствуйте, Johnson, Вы писали:
J>Здравствуйте, Аноним, Вы писали:
А>>Здравствуйте, Johnson, Вы писали:
J>>>Здравствуйте, Аноним, Вы писали:
А>>>>>>Попробуй для начала
А>>>>>> hwnd:= FindWindow(nil,'Заголовок программы'); А>>>>>> if hwnd<>0 then Оно ...
J>>>>>Попробовал при запущенном приложении работает, при выключенном нет...
А>>>>Помню кто-то пытался включить программно компьютер, это случайно не из той же серии ?
J>>>К сожалению нет...
А>>А что значить не работает при выключенном приложении ? Твоем ? или то чье окно ищется...? А>>Помоему в любом случае очевидно что и не должно, т.к. в первом — твой код проверки уже не исполняется , во втором — окна нету которое пытаешся найти и возвращается 0.
А>>Если возвращается не 0 значит есть еще одно окно с таким же заголовком , проверь не называется твоя форма в среде разработки таким же именем
J>Моё приложение запущено постоянно. Пребуется чтобы оно совершало определённые действия если в данный момент активно другое, определённое приложение. При закрытом приложении понятно что будет возвращатся 0, но если оно свёрнуто в иконку то возвращатся 0 уже не будет. А моё приложение всё равно будет работать, даже если активно в данный момент совершенно другое приложение.
Свернутое окно или не свернутое — GetWindowXXXX ...(GetWindowLong в частности) там можно узнать состояние и стиль окна. А то что ты назвал "выключенное" состояние называется минимизированным, от этого уменьшается только приоритет потока в отличии от окна активного и стиль окна меняется .
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, Johnson, Вы писали:
J>>Здравствуйте, Аноним, Вы писали:
А>>>Здравствуйте, Johnson, Вы писали:
J>>>>Здравствуйте, Аноним, Вы писали:
А>>>>>>>Попробуй для начала
А>>>>>>> hwnd:= FindWindow(nil,'Заголовок программы'); А>>>>>>> if hwnd<>0 then Оно ...
J>>>>>>Попробовал при запущенном приложении работает, при выключенном нет...
А>>>>>Помню кто-то пытался включить программно компьютер, это случайно не из той же серии ?
J>>>>К сожалению нет...
А>>>А что значить не работает при выключенном приложении ? Твоем ? или то чье окно ищется...? А>>>Помоему в любом случае очевидно что и не должно, т.к. в первом — твой код проверки уже не исполняется , во втором — окна нету которое пытаешся найти и возвращается 0.
А>>>Если возвращается не 0 значит есть еще одно окно с таким же заголовком , проверь не называется твоя форма в среде разработки таким же именем
J>>Моё приложение запущено постоянно. Пребуется чтобы оно совершало определённые действия если в данный момент активно другое, определённое приложение. При закрытом приложении понятно что будет возвращатся 0, но если оно свёрнуто в иконку то возвращатся 0 уже не будет. А моё приложение всё равно будет работать, даже если активно в данный момент совершенно другое приложение.
А>Свернутое окно или не свернутое — GetWindowXXXX ...(GetWindowLong в частности) там можно узнать состояние и стиль окна. А то что ты назвал "выключенное" состояние называется минимизированным, от этого уменьшается только приоритет потока в отличии от окна активного и стиль окна меняется .
Тогда я надеюсь последний вопрос где про эту функцию почитать можно или может скажеш достойнай FAQ по Win API...
Re[9]: Как наити нужную программу???
От:
Аноним
Дата:
11.11.03 02:05
Оценка:
J>Тогда я надеюсь последний вопрос где про эту функцию почитать можно или может скажеш достойнай FAQ по Win API...
msdn.microsoft.com->Library.
Но она помоему и в дельфевском хелпе есть, найди win32.hlp и там набери GetWindowLong
J>>Тогда я надеюсь последний вопрос где про эту функцию почитать можно или может скажеш достойнай FAQ по Win API... А>msdn.microsoft.com->Library.
А>Но она помоему и в дельфевском хелпе есть, найди win32.hlp и там набери GetWindowLong
Пытался разобраться, но что не получилось. Можно кусочек кода если не сложно...
AppWnd:= GetForegroundWindow
id:=FindWindow('OWL_Window',Заголовок');
if (id=AppWnd)then
id
и
AppWnd
всегда неравны даже если одно приложение работает, а в этой последовательности случайно нет окон которые всегда считаются активными и находятся в фокусе???