in Win32::API. It works OK, (I've done this in the past though can't
track any code down at present).

Tracked down now:

my $SendMessageTimeout = new Win32::API('user32', 'SendMessageTimeout','NNNPNNP', 'N') or die "Get SendMessageTimeout: " . Win32::FormatMessage (Win32::GetLastError ());

use constant HWND_BROADCAST =>  0xFFFF;
use constant WM_SETTINGCHANGE =>  0x001A;
use constant SMTO_ABORTIFHUNG =>  0x0002;

my $dwResult = pack 'L', 0;
my $lparam = 'Environment';
my $timeout = 5000;
my $result = $SendMessageTimeout-> Call(HWND_BROADCAST, WM_SETTINGCHANGE,
          0, $lparam, SMTO_ABORTIFHUNG, $timeout, $dwResult);

print "SendMessageTimeout result: $result \n";

Reply via email to