Tim Johnson wrote: > Win32::TieRegistry will do what you want. > > use Win32::TieRegistry (delimiter => '/'); > my $run = > $Registry->{'HKEY_LOCAL_MACHINE/Software/Microsoft/Windows/CurrentVersion/Run'}; > $run->{'MyApp'} = "My Application"; > > etc., etc.
That looks like a good example of the crap that we need to scour from our registries. Please don't recommend virus-like program behaviors. A well-managed Windows machine should have nothing--zilch--nada--in this key. This is the spammers key. Please recommend only deleting all values from it. Windows does provide other means to set up legitimate services that truly need to start with the OS. I'm sorry if this sounds harsh. You see, my "day job" is maintaining, setting up--and de-idiotizing--user-end, mostly Windows, machines. The nastiest problems I see come when my colleagues decide to download and install some new software, usually for music or video channels, and find that their little cotton-candy app has taken over their workstation. I have to clean up the mess afterward, and often these apps don't want to cooperate. This process has left me with a somewhat jaundiced view towards applications that try to push themselves to the forefront. If a user wants an application to run, he or she can double-click a clearly labelled icon to get their desired functionality. To the OP, I would say that this is a very ambitious undertaking. Since unethical software vendors can and will slime their keys into almost any part of the Registry, it really takes a lot of scouring to hunt them down. One place to start is by finding the references in HKEY_CLASSES to any extensions the app has nabbed. These are often associated with 128-bit GUIDs, shown in bracketed hex, by which other associations are made. You have to trace the GUIDs, any type names associated, etc., and you still can't be certain that you've gotten everything. You should also seek in HKEY_LOCAL_MACINE\SOFTWARE\VendorName\AppName\ to get the more transparent keys that legitimate installers will use as a guide. To do this programatically, you should first try doing it by hand, to better understand how applications are insuated into the Registry. If I have some time in the next couple days, I'll try to make a short list of the tracer methods that might help. Josep[h -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>