Inside and Out…

An attempt to understand technology better…

Archive for the ‘Downloads’ Category

[Download] PocketMaps 2.0 – with GPS support!

Posted by Gaurav Khanna on July 4, 2007

Last week I updated PocketMaps to support GPS. Once the GPS receiver is connected to your Windows Mobile device, PocketMaps can:

  • Map your current location on the map
  • Auto-refresh the map as you move to plot your move
  • Display details regarding your current location, like altitude, wind speed, etc.

You can download it from Below are some screenshots:

Displaying current location’s details

Support for GPS – mapping current location, autorefresh to plot your move, etc.


Posted in .NET Compact Framework, Downloads, Windows CE/Windows Mobile | 1 Comment »

[Download] Pocket Maps – mapping addresses on the Pocket PC

Posted by Gaurav Khanna on June 25, 2007

I just finished authoring PocketMaps, a .NET CF 2.0 based application for Windows Mobile 5.0 based Pocket PC devices that does address mapping on the device using the Yahoo! Map Image API. You can enter the address as free text, or with city/state/zipcode details or as latitude/longitude combination and PocketMaps will map it for you. Particularly useful when you are on the move and want to know the location of an address. It also lets you save the map image that you can send via email/bluetooth, etc.

Below are some screenshots of the application:

PocketMaps in the Programs Folder

An address mapped by PocketMaps

Support for zooming in/out on the map.

It’s free for download and use – download it from

Posted in .NET Compact Framework, Downloads, Windows CE/Windows Mobile | 4 Comments »

[Download] TransNTFS v1.0.0.1 – support for folders, symbolic and hard links and more

Posted by Gaurav Khanna on March 18, 2007

I have updated TransNTFS, my managed implementation for the transactional NTFS APIs that have been introduced with Windows Vista. TransNTFS now also supports the following operations under a transaction:

It comes with complete documentation (as always) and can be downloaded from

Posted in .NET Framework, Development, Downloads, Managed C++, Windows API | Leave a Comment »

[Download] TransNTFS – Managed implementation of Transactional NTFS (TxF) APIs

Posted by Gaurav Khanna on March 15, 2007

Sometime back, I had made a post regarding a native C++ class I had authored for using some of the Transactional NTFS (TxF)APIs introduced in Windows Vista.

Almost two weeks from that post, I just finished my managed implementation, TransNTFS, that enables you to use the TxF APIs from managed code. As always, Managed C++ enabled the implementation with excellent ease. It comes with complete documentation and can be downloaded from

Below is an example usage of how to copy a file under a transaction:

using System;
using System.Collections.Generic;
using System.Text;
using WinToolZone;
namespace ManagedTransactionCopyDemo
class Program
static void Main(string[] args)
TransNTFS refTC = new TransNTFS();
// Init the transaction
bool fSuccess = refTC.BeginTransaction();
if (fSuccess)
fSuccess = refTC.CopyFile("d:\\transcopy.pdb", "d:\\t.pdb", false);
if (fSuccess)
fSuccess = refTC.Commit();
if (fSuccess)
Console.WriteLine("Copy successful!");
ShowErrorAndExit("Commit failed!", refTC.LastError);
ShowErrorAndExit("Copy failed!", refTC.LastError);
ShowErrorAndExit("Unable to start the transaction!", refTC.LastError);
private static void ShowErrorAndExit(string p, int p_2)
Console.WriteLine("ERROR: {0}", p);
Console.WriteLine("CODE: {0}", p_2);

Posted in .NET Framework, Development, Downloads, Windows, Windows API | 1 Comment »

Programming the Transactional NTFS (TxF)

Posted by Gaurav Khanna on March 1, 2007

One of the key new features of Windows Vista is a component called the Kernel Transaction Manager (KTM) that brings inherent support for transactional development in not just the kernel-mode but also for user mode. Infact, NTFS has been enhanced to use and support transactions such that couple of new APIs (e.g. CopyFileTransacted, MoveFileTransacted just to name a few) have surfaced up. You can get more details on Transactional NTFS here.

To demonstrate the power of the new APIs, I wrote a C++ class library (unmanaged), CTransCopy, that allows you to:

  • Copy files under a transaction
  • Move files under a transaction
  • Commit or Rollback the transaction
  • Let you wire up a callback handler for copy/move progress

You can download it from The zipped archive also contains a sample client source code. BTW, since the .LIB file containing the class was compiled using VC++ 2005 compiler, you will need the same to link against it and write an application. You can use VC++ 2005 Express Edition. Below is an example usage of the same:

CTransCopy tcopy;

if (tcopy.IsOSSupported() == FALSE)
printf(“This application requires Windows Vista or later.”);
return -1;

if (tcopy.Init() == FALSE)
printf(“Init failed with error %08X\n”,tcopy.LastError());
return -1;

// Setup a callback for progress

if (tcopy.CopyFileW(L”D:\\KGK\\Development\\VS\\Windows Vista\\VC\\TransCopy\\debug\\transcopy.pdb”,
L”D:\\transcopy.pdb”,FALSE) == FALSE)
printf(“Copy/move failed with error %08X\n”,tcopy.LastError());
return -1;

if (tcopy.Rollback() == FALSE)
printf(“Rollback failed with error %08X\n”,tcopy.LastError());
return -1;

if (tcopy.Commit() == FALSE)
printf(“Commit failed with error %08X\n”,tcopy.LastError());
return -1;

printf(“Copy/move successful!\n”);

The ProgressCallback function is implemented as shown below:

void ProgressCallback(LARGE_INTEGER total, LARGE_INTEGER transferred)
double percent = (transferred.QuadPart*100.00)/total.QuadPart;
printf(“%f%% over\n”,percent);

Posted in .NET Framework, Development, Downloads, Windows, Windows API | 1 Comment »

Article: Customizing AppDomain Creation

Posted by Gaurav Khanna on February 26, 2007

Did you have a scenario where you wished you could customize the creation of AppDomains? Or, you could control how many AppDomains any code that runs in your application context (e.g. if you are writing a plugin load framework) could create? Or, how about reusing AppDomains for various assemblies?

I have just finished an article on how any of the above scenarios can be accomplished using the System.AppDomainManager type, introduced in .NET Framework 2.0, by intercept AppDomain creation requests.

You can read the article at and download associated source code from

Posted in .NET Framework, Articles, CLR, Development, Downloads | Leave a Comment »

DesktopSMS – Send, Receive and Reply to SMS from the desktop

Posted by Gaurav Khanna on July 31, 2006

Ever wanted to compose SMS from the ease of desktop instead of the phone? Wanted to be notified on the desktop, while you are working, when a SMS is received and reply to it from there itself?

DesktopSMS, for Windows Mobile 5.0 based SmartPhone and PocketPC devices, will let you do just that! Based upon .NET Framework 2.0, .NET Compact Framework 2.0 and Windows Mobile 5.0, it allows you to compose, receive and reply to SMS while the phone is connected to your machine via ActiveSync. Below are some screenshots of the same:

Main window to send SMS

Likewise, when a SMS is received, a popup comes on your screen that will allow you to reply as well:

Popup on message receipt

You can even select recepients from Microsoft Outlook’s Contact folder as message receipient, provided they have mobile phone number specified. It comes with complete documentation and installer.

Download DesktopSMS from

Technorati : , , , , , , : , , , , , ,

Posted in .NET Compact Framework, .NET Framework, Downloads, Windows API, Windows CE/Windows Mobile | Leave a Comment »

[Download] IEFeedManager – feature enhanced!

Posted by Gaurav Khanna on July 3, 2006

I just published v1.0.0.3 of IEFeedManager with some improvements and feature additions.

  • You can right-click a feed or a feed folder and force an update of the feed(s)
  • If any changes are made to the Common Feed List (CFL), then they shall be automatically reflected in the tree display as shown below:
  • Support for auto-refresh of display
  • Feed Viewer now supports sorting of columns by clicking on the column header. Also, added support to mark feed items are read or unread (unread items appear in bold) and to support reading pane at the bottom or the right side:
  • RSS Reader enhancements
Install the latest version from here.

Technorati : , , , , , , : , , , , , ,

Posted in .NET Framework, Downloads | Leave a Comment »

[Download] IEFeedManager – RSS Reader+Internet Explorer 7 Feed Manager

Posted by Gaurav Khanna on July 1, 2006

With Internet Explorer 7 (IE7), subscribing to RSS feeds has become much simpler than before. Infact, IE7 can be used as a RSS reader!

This has been made possible by introducing Common Feed List (CFL), a central repository of RSS feeds maintained on all machines running IE7 or later. Thus, these include (as of today) Windows XP SP2, Windows Server 2003 and Windows Vista. The beauty of CFL is that there are COM based APIs that can be used to interface with it and manage it – and any application can choose to use it and there by adding RSS support within it!

IEFeedManager is a .NET Framework 2.0 based application that will allow you to manage feeds in CFL in a much easier manner and demonstrates how to use the Feeds API from the .NET Framework. For eg. in a single go, it will let you set feed refresh intervals for all feeds in a given folder, which is not so easy in the browser. Plus, it has a built-in RSS reader! And all this is free! Below is a screenshot of IEFeedManager in action:

IEFeedManager in action

You can install it over the web using ClickOnce from

Technorati : , , , , : , , , ,
Buzznet : , , , ,
43 Things : , , , ,

Posted in .NET Framework, Downloads | Leave a Comment »

[Download] NotifyOnEmail – Get notified on email about SMS and Missed Calls

Posted by Gaurav Khanna on June 7, 2006

I just finished off with TechED 2006 India at Delhi and had sometime at hand today before TechED starts at Pune tomorrow. So, I thought about writing an application I had been waiting to develop.

There are times when we forget our phones at home. However, we continue to get SMS and phone calls on our device while we are at a totally different location. Would it not be great if our phone could email us details of the SMS received and phone calls we missed?

Download NotifyOnEmail which will do just that. It is for PocketPC and requires Windows Mobile 5.0 and .NET Compact Framework 2.0. Screenshot is below:

Posted in .NET Compact Framework, Downloads, Windows CE/Windows Mobile | 1 Comment »