Обман программы!
От: Chien Mechant  
Дата: 01.07.02 11:47
Оценка:
Ранее была написана программа, которая имела окно во весь экран — было у неё свойство по верх всех окон и не давало оно переключаться на другие приложение по альт таб. Таже таск мэнеджер нельзя включить было. Задача вот какая, надо написать программу, которая бы обманывала эту подставляя ей не верные значения размера экрана. Как это сделать? Хорошо если бы можно было бы убрать свойствол её — что бы оно не находилось по верх всех окон!
Re: Обман программы!
От: SergH Россия  
Дата: 01.07.02 11:56
Оценка:
Здравствуйте Chien Mechant, Вы писали:

CM>Ранее была написана программа, которая имела окно во весь экран — было у неё свойство по верх всех окон и не давало оно переключаться на другие приложение по альт таб. Таже таск мэнеджер нельзя включить было. Задача вот какая, надо написать программу, которая бы обманывала эту подставляя ей не верные значения размера экрана. Как это сделать? Хорошо если бы можно было бы убрать свойствол её — что бы оно не находилось по верх всех окон!


А по простому FindWindow + SetWindowPos не получается? Тогда можно перехватить SetWindowPos и не пускать наверх. С размером экрана так же.

А как сделано, что бы Task Manager не запустить?
Делай что должно, и будь что будет
Re[2]: Обман программы!
От: Chien Mechant  
Дата: 01.07.02 12:02
Оценка:
Здравствуйте SergH, Вы писали:

SH>Здравствуйте Chien Mechant, Вы писали:

SH>...А по простому FindWindow + SetWindowPos не получается? Тогда можно перехватить SetWindowPos и не пускать наверх. С размером экрана так же.

SH>А как сделано, что бы Task Manager не запустить?


Не TaskManager запустить можно, но его не видно! То есть жмёшь на ctrl+alt +delete появляется, выбираешт там таск мэнеджер, а он не появляется, только когда выходишь из проги, он виден. То есть прога эта перекрывает всё.

SetPos я не пробовал, но мне надо запускать другие программы ( офисс например) параллельно с этой прогой. Проблема сделать ее такой, что бы можно было между окнами переключатся!
Re[3]: Обман программы!
От: SergH Россия  
Дата: 01.07.02 12:17
Оценка: 2 (1)
Здравствуйте Chien Mechant, Вы писали:

CM>Не TaskManager запустить можно, но его не видно! То есть жмёшь на ctrl+alt +delete появляется, выбираешт там таск мэнеджер, а он не появляется, только когда выходишь из проги, он виден. То есть прога эта перекрывает всё.


Мой диагноз — она по таймеру вызывает SetWindowPos(HWND_TOPMOST, ....); Но могу и ошибаться, так как сам так не пробовал. В этом случае можно только (т.е. я других вариантов не вижу) перехватьть SetWindowPos и не давать вызывать её с параметром HWND_TOPMOST.

CM>SetPos я не пробовал, но мне надо запускать другие программы ( офисс например) параллельно с этой прогой. Проблема сделать ее такой, что бы можно было между окнами переключатся!
Делай что должно, и будь что будет
Re[4]: Обман программы!
От: Chien Mechant  
Дата: 01.07.02 12:30
Оценка:
Здравствуйте SergH, Вы писали:

SH>Здравствуйте Chien Mechant, Вы писали:


CM>>Не TaskManager запустить можно, но его не видно! То есть жмёшь на ctrl+alt +delete появляется, выбираешт там таск мэнеджер, а он не появляется, только когда выходишь из проги, он виден. То есть прога эта перекрывает всё.


SH>Мой диагноз — она по таймеру вызывает SetWindowPos(HWND_TOPMOST, ....); Но могу и ошибаться, так как сам так не пробовал. В этом случае можно только (т.е. я других вариантов не вижу) перехватьть SetWindowPos и не давать вызывать её с параметром HWND_TOPMOST.


CM>>SetPos я не пробовал, но мне надо запускать другие программы ( офисс например) параллельно с этой прогой. Проблема сделать ее такой, что бы можно было между окнами переключатся!


Наврятли там таймер стоит!
А как перехватить эту функцию?
Re[5]: Обман программы!
От: Dr.Golova  
Дата: 01.07.02 22:00
Оценка:
CM>Наврятли там таймер стоит!
CM>А как перехватить эту функцию?

Чо значит как? Берешь дебаггер, ставишь бряку на нужную функцию и находишь как вызовется, а там забиваешь нопами :) А лучше конечно сначала узнать на чем прога написана — если на чем-нить типа дельфи или билдера (что скорее всего) то проще наверное ее в DeDe засунуть и снять форме свойство topmost (или как там его в VCL завут). Кароче сразу так не ответишь что делать — надо покапаться сначала в самой проге.
Re[6]: Обман программы!
От: a70 США  
Дата: 02.07.02 02:12
Оценка:
А как насчет Virtual Desktop и Tweak UI ?

Здравствуйте Dr.Golova, Вы писали:

CM>>Наврятли там таймер стоит!

CM>>А как перехватить эту функцию?

D.G>Чо значит как? Берешь дебаггер, ставишь бряку на нужную функцию и находишь как вызовется, а там забиваешь нопами А лучше конечно сначала узнать на чем прога написана — если на чем-нить типа дельфи или билдера (что скорее всего) то проще наверное ее в DeDe засунуть и снять форме свойство topmost (или как там его в VCL завут). Кароче сразу так не ответишь что делать — надо покапаться сначала в самой проге.
Re[2]: Обман программы!
От: Flamer Кипр http://users.livejournal.com/_flamer_/
Дата: 02.07.02 06:56
Оценка:
Здравствуйте SergH, Вы писали:

Поскипано...

SH>А как сделано, что бы Task Manager не запустить?


Может быть глобальным хуком WH_SHELL и обработкой в нем HSHELL_TASKMAN?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.