in reply to Re^4: Manipulate Desktop-Windows with Perl
in thread Manipulate Desktop-Windows with Perl

Example with notepad (tested, works)
#!/usr/bin/perl -- use strict; use warnings; use Win32::GuiTest qw(:ALL); # Let's see notepad system("start notepad.exe"); sleep 1; my $notepad = GetForegroundWindow(); # http://search.cpan.org/perldoc?Win32::GUI::Constants use constant WM_SYSCOMMAND => 0x0112 ; use constant SC_MAXIMIZE => 0xF030 ; use constant SC_MINIMIZE => 0xF020 ; use constant SC_RESTORE => 0xF120 ; # google sendmessage maximize # // Send system command to maximize the window. # SendMessage (nHwnd, WM_SYSCOMMAND, SC_MAXIMIZE, 0); # this works SendMessage( $notepad, WM_SYSCOMMAND, SC_MAXIMIZE, 0); sleep 1; SendMessage( $notepad, WM_SYSCOMMAND, SC_RESTORE, 0); select undef, undef, undef, 0.5; SendMessage( $notepad, WM_SYSCOMMAND, SC_MINIMIZE, 0); select undef, undef, undef, 0.5; # no work, but in Win32::ActAcc its btnMaximize "{push button}Maximize +" PushButton( "Maximize", 0);# didn't work, PushButton( 0xF030, 0);# didn't work SendMessage( $notepad, WM_SYSCOMMAND, SC_MAXIMIZE, 0); select undef, undef, undef, 0.5; SendMessage( $notepad, WM_SYSCOMMAND, SC_RESTORE, 0); SendKeys("{ESC}%{SPACEBAR}");# ALT+SPACEBAR opens .../max/min/close di +alog select undef, undef, undef, 0.5; SendKeys("x"); # chose maximize select undef, undef, undef, 0.5; SendKeys("{ESC}%{F4}"); # close (Alt+F4)

Replies are listed 'Best First'.
Re^6: Manipulate Desktop-Windows with Perl
by michbach (Sexton) on Dec 27, 2008 at 17:14 UTC
    Hi,
    first thank you very much for your response! Sorry but i guess ive forgotten to say that i wanna change the window in a specific size. Maximize, minimize is fine but i want to reszie a window to a specific size e.g. 100x100 or every other size. May be you know still another command to realize this?
    Thanks a lot in advance, best regards michbach
      you want to learn win32 gui programming, go buy a book.