Расскажу на своем примере, все началось с того, что я захотел написать собственную утилиту позволяющую добавлять нужные мне программы в раздел запуска Run (Пуск - Выполнить) ведь не все программы запускаются от туда (путем ввода простой команды, скажем для запуска браузера Opera, я просто ввожу Opera в Пуск - Выполнить или для запуска Total Commander ввожу totalcmd, или любую другую команду удобную и запоминающуюся именно мне, к примеру вместо notepad использую ntpd) очень удобно (по крайней мере мне)... Как самый быстрый и легкий путь был выбран Borland Delphi (тогда даже не помню сколько лет назад, помню что ADSL интернета еще не было на тот момент), все оказалось на много проще чем я ожидал, немного смекалки и времени и утилита была готова через два дня (с учетом поиска информации в инете по диалапу), все го то нужно записывать, читать и удалять значения из реестра... Следующим шагом было написание собственного твикера, посредством которого я быстро настраивал свою систему в считанные секунды (тогда как ранее приходилось тратить несколько десятков минут на ручную настройку т.е. тюнинг системы) и опять здесь запись, чтение из реестра, книжек особо не читал, руководствовался собственной практикой и примерами из интернета...
Думаю для начала надо определить для себя цель - для чего тебе это надо... в моем свлучае целью была максимальная автоматизация всего чего можно было автоматизировать, как в принципе и до сих пор я движим этой целью, только ранее это была моя рабочая станция, а теперь это довольно большущая сеть, со своими клиентами, станциями, серверами, бизнес-задачами и прочим...))