В случае DDE моя программа загружает файл и должна появиться на переднем плане. я использовалКак мне принести свое окно на фронт после события DDE?
show;
Это только кажется, работает, как тогда, когда я скрыл окно.
Так я добавил
bringtofront;
Опять же работал, если он был скрыт, закрыт, свернуто или в лотке значок, но не тогда, когда он был открыт только под другим окном.
Я даже пробовал некоторые Hacky такие вещи, как
windowstate:=wsminimized;
windowstate:=wsnormal;
, чтобы попытаться заставить его показать, но безрезультатно. Я знаю, что код работает, так как у меня есть распечатки с обеих сторон этого блока, и нет никаких условных утверждений, которые он мог бы застрять.
Программа, отправляющая событие DDE, должна сотрудничать, вызывая AllowSetForegroundWindow. Я ожидаю, что Explorer сделает это, но другие программы, вероятно, пренебрегают этой детальностью. –
Это тоже хорошо. Мне действительно не нравится, когда другие программы захватывают фокус. – Kibbee