Вниз
Скачать: CL | DM;

не находится хэндл у самой программы   Найти похожие ветки 

← →
cvg   (2006-12-28 17:08) [0]

Программа делает активным окно другой программы, а потом должна обратно перевести фокус на себя. У той другой программы имя класса = "InfoClass", хэндл находится без проблем. У самой программы (согласно утилите Spy++) имя класса = "TMainForm". Но функция FindWindow почему-то упорно возвращает ноль :(. В чем может быть дело?

Примеры успешного и неуспешного обращения к функции FindWindow:

    wHandle := FindWindow("InfoClass");
    h_prg := FindWindow("TMainForm");


← →
Рамиль ©   (2006-12-28 18:08) [1]

А Self.Handle уже не катит?


← →
cvg   (2006-12-29 08:13) [2]

Хмм... Всё это хорошо, но почему-то строка windows.BringWindowToTop(self.Handle); окно текущей программы в фокус не помещает. Почему бы это?


← →
Elen ©   (2006-12-29 08:19) [3]


>  а потом должна обратно перевести фокус на себя.

BringWindowToTop(Form1.Handle) Где Form1 - главная форма


← →
cvg   (2006-12-29 08:31) [4]

windows.BringWindowToTop(MainForm.Handle); тоже никакого видимого влияния на ход выполнения программы не оказывает :(


← →
Elen ©   (2006-12-29 08:51) [5]


> cvg

Вот тебе выкрутас один: приводит форму наверх

Form1.FormStyle:=fsStayOnTop;
Form1.FormStyle:=fsNormal;


Не суди за код строго, мне иногда помогает.


← →
cvg   (2006-12-29 08:58) [6]

Спасибо, Elen, сработало! :)


← →
Elen ©   (2006-12-29 09:03) [7]


> cvg

Пожалуйста. Креативные Извраты всегда работают ;)



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.041 c
4-1156847479
danatelo
2006-08-29 14:31
2007.01.21
СНИФЕР ПЕЧАТИ НУЖНА ПОМОЩЬ


2-1167221075
harusha
2006-12-27 15:04
2007.01.21
DLL


2-1167557715
4ipset
2006-12-31 12:35
2007.01.21
Запись в реестр


2-1167988619
Sesh
2007-01-05 12:16
2007.01.21
Эмитациа работы на клавиатуре


4-1157332834
Viacheslav
2006-09-04 05:20
2007.01.21
Контекстное меню проводника.




   Наверх