Introduction
Have you ever wanted to save custom emoticons from MSN to your hard drive?
MSNEmoticonsToGif
allows you to browse all your MSN Messenger custom emoticons, and save them to your hard disk for backup or any other purpose.
Using the Program
After extracting and executing the program:
- Enter your MSN address (Windows Live ID).
- Choose the folder path where you want the emoticons/pictures to be saved.
- Check overwrite if an emoticon with the same name already exists and you want it to be automatically overwritten.
- Click Find.
- If custom emoticons are found, a message will be displayed showing that custom emoticons were found.
- The first emoticon will be displayed in the picture box.
- Use the next and previous arrows to switch pictures.
- In the status bar, information about the selected emoticon/picture is displayed, its number, its size in bytes, and its width by height in pixels.
- Click Save all to save all the emoticons to the previously selected folder.
- If you would like to save only one emoticon, right click the emoticon and click Save.
- Choose Save as... if you would like to save the emoticon to a folder of your choice.
Using the Code
First, we add the IO library:
using System.IO;
Now, we have to find the path where the custom emoticons are stored.
By default, MSN Messenger stores all custom emoticons in the Local Settings\Application Data\Microsoft\Messenger\msn live ID\ObjectStore\CustomEmoticons folder, with a .dt2 file extension.
But since every computer can have a different Windows user account name, we need to use the following code to get the path for the Local Settings/Application data folder:
string accountPath;
accountPath = System.Environment.GetFolderPath(
Environment.SpecialFolder.LocalApplicationData );
Let's assume that the MSN address is etienne@live.com, and then we add the rest of the path:
string accountName = "etienne@live.com";
accountPath += "\\Microsoft\\Messenger\\";
accountPath += accountName;
accountPath += "\\ObjectStore\\CustomEmoticons";
We check if the custom emoticons folder exists; if not, it means there are no custom emoticons. Then, we will load the path of each file/emoticon and save it as a GIF file in a new folder.
if (Directory.Exists(accountPath))
{
string []filenames = Directory.GetFiles(accountPath, "*.dt2");
string savePath = "C:\\Emoticons\\";
savePath += accountName;
try
{
if (!Directory.Exists(savePath))
{
Directory.CreateDirectory(savePath);
}
}
catch (IOException ex)
{
}
int i = 0;
bool overwrite = true;
try
{
foreach (string filename in filenames)
{
File.Copy(filename, savePath + "\\e" + ++i + ".gif", overwrite);
}
}
catch (IOException ex)
{
}
}
else
{
}
Conclusion
Although it might not be the fanciest program around, I wrote it so I can browse through my emoticons, backup and save the ones I like, and also use them as icons or pictures in my computer.