Windows XP - aplikacje, które mają „poppont”, nie robią tego

1

Jest uruchamiana przez nas aplikacja, która na niektórych komputerach XP wyskakuje przed wszystkim innym, gdy potrzebuje uwagi użytkownika. Jest to aplikacja na żywo, więc chcemy to zrobić.

Robi to na niektórych komputerach XP, ale nie na innych. Rozmawiałem z firmą, która tworzy oprogramowanie i jest to poza ich pomocą. Myślę więc, że to kwestia systemu operacyjnego. Dlatego opublikowałem to tutaj.

Czy istnieje coś w systemie operacyjnym (może w rejestrze), które można zmienić, aby okno aplikacji mogło ukraść fokus i wysunąć się na pierwszy plan, jeśli jego własne programowanie spróbuje to zrobić.

MrVimes
źródło

Odpowiedzi:

0

Zachowanie SetForegroundWindowinterfejsu API zmieniło się w systemie Windows 2000. Wcześniej aplikacje mogły „poppont” zgodnie z ich wyborem, teraz istnieją ograniczenia.

Jeśli tak naprawdę SetForegroundWindow()(skontaktuj się z twórcami oprogramowania), możesz spróbować ustawić SPI_SETFOREGROUNDLOCKTIMEOUTparametr na zero za pomocą SystemParametersInfo. Nie jestem do końca pewien, jak to zrobić poprzez modyfikację rejestru, bez wywoływania tego interfejsu API.

Zauważ, że wolałbym powstrzymać się od ustawiania parametru ogólnosystemowego, aby jedna aplikacja działała dobrze. Te SetForegroundWindowograniczenia są na tyle długo, więc firma rozwija powinni mieć dość czasu, aby coś z tym zrobić.

krlmlr
źródło