Creating Shell Extension Handlers
A step-by-step tutorial on writing shell extensions:
The Complete Idiot's Guide to Writing Shell Extensions - Part I
A tutorial on writing a shell extension that operates on multiple files at once:
The Complete Idiot's Guide to Writing Shell Extensions - Part II
A tutorial on writing a shell extension that shows pop-up info for files:
The Complete Idiot's Guide to Writing Shell Extensions - Part III
A tutorial on writing a shell extension that provides custom drag and drop functionality:
The Complete Idiot's Guide to Writing Shell Extensions - Part IV
A tutorial on writing a shell extension that adds pages to the properties dialog of files:
The Complete Idiot's Guide to Writing Shell Extensions - Part V
A tutorial on writing a shell extension that can be used on the Send To menu:
The Complete Idiot's Guide to Writing Shell Extensions - Part VI
A tutorial on using owner-drawn menus in a context menu shell extensions, and on making a context menu extension that responds to a right-click in a directory background:
The Complete Idiot's Guide to Writing Shell Extensions - Part VII
A tutorial on adding columns to Explorer's details view via a column handler shell extension:
The Complete Idiot's Guide to Writing Shell Extensions - Part VIII
A tutorial on writing an extension to customize the icons displayed for a file type:
The Complete Idiot's Guide to Writing Shell Extensions - Part IX
Simple way:
Replace default shell
HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Winlogon
Shell REG_SZ <application>