Execute cron job automatically after a specific interval of time in windows I've created a custom module in drupal and implemented hook_cron. My hook is working perfectly, when I click on run cron button from admin interface. 

How can I automatically execute my hook after a specific time interval is passed,  without clicking on the Run cron button from the administrative interface?
Drupal supports two types of cron jobs:

Poormanscron

This is the default Drupal 7 cron, where at the end of a page request after a certain amount of time, hook_cron is called. This is controlled by the Run cron every ... setting at admin/config/system/cron.

This means that if cron is configured to run every 3 hours, the first user to visit the page after 3 hours will trigger cron. This also means on a low-traffic site that it can many more hours before cron is actually called.

Scheduled cron

This is a much more reliable method which does not involve the user. The principle is that the cron page is called from an external source (usually crontab on the server) at a set interval. As long as the server is up, it will run guaranteed every 3 hours. 

In order to enable this, make sure to disable Poormanscron at admin/config/system/cron (set it to run never). And create a cron job (General and Linux manual).

In case of a Windows environemt, one can use Windows' built in scheduled tasks. Please refer to this manual page.

UPDATE
Be aware that the manual is a little outdated, since Drupal 7 the cron script is protected by a token (to prevent DDoS). So where you see to call http://www.example.com/cron.php, add your site specific token. This can be found on your site's status page and looks like this: http://www.example.com/cron.php?cron_key=xxxxxxxxxx.