Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Determining if a window is top most
Message
Information générale
Forum:
Visual FoxPro
Catégorie:
Fonctions Windows API
Divers
Thread ID:
00173267
Message ID:
00173465
Vues:
52
>>>Is it possible to query a window to determine if it has been set as a top most window? I.e. if SetWindowPos() is used to set a window as top most ( HWND_TOPMOST ), is there an API function to query that window to determine if it is a top most window?
>>>
>>>Thanks,
>>
>>Hi Bill,
>>
>>You don't mean that you want the current foreground window (GetForegroundWindow), right? You can test if a window is a child window (IsChild), or loop through the windows like I do with the Is_Run function. That retrieves the handles of parent windows (top most) only.
>
>Hi George,
>
>It's not the specific foreground window I'm looking for but whether a window has been set as HWND_TOPMOST, i.e. above all non-topmost windows. I am looping thru the windows now ( this is in VB ... horrors :-) ) and I'm having to change my logic to make sure I hit all the windows and wanted to test to see if a window was set "topmost". As it turns out, because of the problem I was encountering ( yesterday ) and the solution I will implement ( today ), I won't need to test for this in my new solution. But now it's a matter of principle :-) and for future reference.
>
Hi Bill,

AFAIK, the only way to do this is to loop through the top windows using GetWindow with GW_HWNDNEXT starting with the value retrieved by GetDesktopWindow. If it's any help, there's a function IsWindowVisible that takes the window handle as its only parameter it'll return a non-zero value if it is. The only word of caution I might add is that just because a window is topmost, that doesn't mean that there isn't a relationship to another window. For example, when you open help from within VFP the help window is topmost, but it's also owned by VFP. Thus, when VFP closes so does the help window. However, if you open it from the Explorer it isn't owned by another window (I guess technically it's owned by the desktop). You can open and close VFP and it won't close.
George

Ubi caritas et amor, deus ibi est
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform