Solved

previous active window

Posted on 1997-05-07
3
273 Views
Last Modified: 2013-12-04
In Win95/NT, How do I get the previous active focused window handle of other applications when user clicks on my application?
0
Comment
Question by:jasonz050797
  • 2
3 Comments
 
LVL 15

Accepted Solution

by:
NickRepin earned 50 total points
ID: 1397159
When user clicks on your window, it receives WM_SETFOCUS message. WPARAM of this message identifies the window that has lost the keyboard focus.
So you have to implement code for handling this message.
Also you can check WM_ACTIVATEAPP or WM_ACTIVATE messages.
0
 

Author Comment

by:jasonz050797
ID: 1397160
I used this messages before and they works fine. WPARAM=NULL if you activate app when destop is active.
In any other case WPARAM is handle of deactivated window.
If you have Winsight32 or Winspy you can check it.
By the way, WPARAM=hWnd for WM_SETFOCUS only.
0
 
LVL 15

Expert Comment

by:NickRepin
ID: 1397161
I am sorry.. You are right! It seems there is no way to obtain handle of deactivated window. Just reject my answer.

Here is MS knowledge base article:

WM_ACTIVATEAPP Has lParam of Zero (0)

Article ID: Q135785
Creation Date: 28-AUG-1995
Revision Date: 29-SEP-1995

The information in this article applies to:

•Microsoft Win32 Application Programming Interface (API) included with:



    - Microsoft Windows NT version 3.51
    - Microsoft Windows 95 version 4.0
    - Microsoft Win32s version 1.3










SUMMARY


Although the current Win32 documentation does not specifically indicate this, it is possible (and very likely) that the WM_ACTIVATEAPP message will be received by an application with the lParam equal to 0. You can in fact get 0 in lParam when activating and deactivating.



MORE INFORMATION


In previous versions of Windows, activation and deactivation used to be synchronous. This meant that you could never switch away from an application that was locked up because the application becoming active had to wait for a synchronous reply from the application being deactivated. The activating application would get stuck waiting for the deactivating application to process and return from the WM_ACTIVATEAPP, WM_ACTIVATE, and WM_NCACTIVATE messages.

In Windows 95 and Windows NT, Microsoft removed every place where these types of synchronous lockups can occur. When asynchronous activation occurs, the activating application becomes active immediately, and the messages to the deactivating application occur later. This means two things:

•An application can be terminated in the middle of this process. If this happens, the thread ID/task handle that is passed in the lParam is invalid. •When the deactivated application gets notified, it is possible that the activated application is no longer active. A third application might have been activated in the interim.






------------------------------------------------------------------------
Additional reference words: 4.00 1.30 Windows 95
KBCategory: kbui
KBSubcategory: UsrWndw


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

©1997 Microsoft Corporation. All rights reserved. Legal Notices.
0

Featured Post

Find Ransomware Secrets With All-Source Analysis

Ransomware has become a major concern for organizations; its prevalence has grown due to past successes achieved by threat actors. While each ransomware variant is different, we’ve seen some common tactics and trends used among the authors of the malware.

Join & Write a Comment

What my article will show is if you ever had to do processing to a listbox without being able to just select all the items in it. My software Visual Studio 2008 crystal report v11 My issue was I wanted to add crystal report to a form and show…
For most people, the WrapPanel seems like a magic when they switch from WinForms to WPF. Most of us will think that the code that is used to write a control like that would be difficult. However, most of the work is done by the WPF engine, and the W…
This is Part 3 in a 3-part series on Experts Exchange to discuss error handling in VBA code written for Excel. Part 1 of this series discussed basic error handling code using VBA. http://www.experts-exchange.com/videos/1478/Excel-Error-Handlin…
Illustrator's Shape Builder tool will let you combine shapes visually and interactively. This video shows the Mac version, but the tool works the same way in Windows. To follow along with this video, you can draw your own shapes or download the file…

757 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

22 Experts available now in Live!

Get 1:1 Help Now