if you mean which
Win32::GUI window is the active one, you can simply track this with the Activate() events. an example:
my $activeWindow;
sub Window1_Activate {
$activeWindow = $Window1;
}
sub Window2_Activate {
$activeWindow = $Window2;
}
sub Window3_Activate {
$activeWindow = $Window3;
}
# and so on...
if you instead mean
any window on your screen (and you don't need realtime monitoring -- which will hog your CPU), then I would do it setting up a timer object:
my $checkActive = $Window1->AddTimer(
-name => "checkActive", 10
);
# note: 10 milliseconds means 100 times/second
sub checkActive_Timer {
$activeWindow = Win32::GUI::GetForegroundWindow();
}
hope this helps...
cheers,
Aldo
King of Laziness, Wizard of Impatience, Lord of Hubris