Oops.  Trying again from an account that is actually a member of the list.

On Fri, Apr 4, 2008 at 4:45 PM, Tim Johnson <[EMAIL PROTECTED]> wrote:

> I was tasked with making a quick and dirty uninstaller that can be
> launched through SMS in order to give people without admin rights the right
> to uninstall things, and so I whipped up something quick and dirty (code
> below).  It actually works pretty well, but there's one big problem:  The
> combo box is longer than the height of the window, and while I can use the
> arrow keys to scroll up and down, I would much rather have a scroll bar in
> order to view the rest of the list.  What am I missing?  A quick search of
> the Google didn't really help much.
>
>
> ########################################
>
> use strict;
> use warnings;
> use Win32::GUI;
> use Win32::TieRegistry (Delimiter => '/');
>
>
> sub MainWindow_Terminate() {
>   -1;
> }
>
> sub GetUninstallInfo() {
>   my %uninstall = ();
>   my $uninstall_key =
> $Registry->{'HKEY_LOCAL_MACHINE/Software/Microsoft/Windows/' .
>                                   'CurrentVersion/Uninstall'};
>   no warnings qw(uninitialized);
>
>   foreach my $key(keys %{$uninstall_key}) {
>     if ($uninstall_key->{$key . "DisplayName"}) {
>       my $name = join(' ', $uninstall_key->{$key . "Publisher"},
>                            $uninstall_key->{$key . "DisplayName"},
>                            $uninstall_key->{$key . "DisplayVersion"});
>       $name =~ s/^\s+//;
>       $uninstall{$name} = $uninstall_key->{$key . "UninstallString"}
>     }
>   }
>   use warnings qw(uninitialized);
>   return %uninstall;
> }
>
> my $main_app_name = "Google Universal Uninstaller 1.0";
> my $icon = new Win32::GUI::Icon('g.ico') or die();
> my $window = Win32::GUI::Window->new(-name => 'MainWindow',
>                                      -width => 550,
>                                      -height => 150,
>                                      -title => $main_app_name);
> $window->ChangeIcon($icon);
>
> my %uninstall = GetUninstallInfo();
>
> my $combo_box = $window->AddCombobox(-name => "UninstallList",
>                                      -text => "Applications",
>                                      -width => 500,
>                                      -height => 120,
>                                      -left => 10,
>                                      -top => 10,
>                                      -sort => 1,
>                                      -dropdown => 1,
>                                      -resizable => 0,
>                                      );
>
>
> foreach my $application (keys %uninstall) {
>   if ($uninstall{$application}) {
>     $combo_box->AddString($application);
>   }
> }
>
> $combo_box->SetCurSel(0);
>
> my $button = $window->AddButton(-name => "BtnRemove",
>                                 -text => "Uninstall the selected
> application.",
>                                 -width => "300",
>                                 -height => "40",
>                                 -top => 50,
>                                 -left => 100);
> $button->Show();
>
>
> $window->Show();
> Win32::GUI::Dialog();
>
>
> sub BtnRemove_Click() {
>   my $index = $combo_box->GetCurSel();
>   if ($index > -1){
>     my $app = $combo_box->GetString($index);
>     system($uninstall{$app});
>   }
> }
>
>
> ##########################################
>
>
> --
> _____________________
> Ceci n'est pas un email.




-- 
_____________________
Ceci n'est pas un email.
-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Register now and save $200. Hurry, offer ends at 11:59 p.m., 
Monday, April 7! Use priority code J8TLD2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
Perl-Win32-GUI-Users mailing list
Perl-Win32-GUI-Users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/perl-win32-gui-users
http://perl-win32-gui.sourceforge.net/

Reply via email to