<p>I am developing an application using vb.net. For performing some tasks the application needs administrator privileges in the machine. How to ask for the privileges during the execution of the program?</p>

<p>What is the general method of switching user accounts for executing an application? In other words, is there some way for an application to run under an arbitrary user account?</p>

There are several articles on the Internet about developing elevated processes in Vista, but essentially elevation requests involve decorating .NET assemblies and WIN32 executables with elevation status in the application manifest file (may be embedded or side-by-side).
There is an excellent blog post about your question which provides the code you'll probably need:
.NET Wrapper for COM Elevation