Blog - Title

October, 2005

  • Sandeep Singh Rawat

    Visual Studio 2005 is finally available.

    • 2 Comments

    MSDN subscribers will now be able to download and install any one of the retail versions of the Visual Studio family of products from the MSDN subscription site. Also available are .NET framework and .NET Framewrok SDK from Microsoft download center.
    So dont wait and start using VS 2005 ............. :)

  • Sandeep Singh Rawat

    AERO glass theme for Vista

    • 1 Comments

    If you are not able to see AERO glass theme on your Windows Vista beta because you have an Intel Graphics card not a nVidia one. Here is small trick for you. Just make some modification in registry and thats it.... Enjoy

    Windows Registry Editor Version 5.00
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DWM]
    "EnableMachineCheck"=dword:00000000
    "Animations"=dword:00000000
    "Blur"=dword:00000001

  • Sandeep Singh Rawat

    Outlook process not shutting down.

    • 0 Comments

    Recently I came across a problem with Outlook PIAs. I used the Outlook library to access the Outlook Object Model. If the outlook is already running then there is no problem. But if this is not the case trying to access Application object creates a new process that's fine but when I release my objects, process is still running. At first tried tried releasing all the objects using Marshal.ReleaseComObject() but process is still there.

    Code snippet is posted below

    Outlook.MAPIFolder inboxFolder = mapiNamespace.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox);
    Outlook.Items items = inboxFolder.Items;
    foreach (Outlook.MailItem mailItem in items)
    {
       
    if (mailItem.Subject == SubjectName
          {
    //do something                     
         }
       
    Marshal.ReleaseComObject(mailItem);
    }
    Marshal.ReleaseComObject(items);
    Marshal.ReleaseComObject(inboxFolder);

    So basically I released all the objects that i thought I was adding a reference to. But process is still there. Then I found the glitch. foreach loop is generating some intermediate reference so ref count to the com object is not decreased as it should therefor outlook process is still there even no one actually is using this.

     Here is the modified code to correct the error

    Outlook.MailItem item = null;
    Outlook.Items items = mailFolder.Items;
    for (item = (Outlook.MailItem)items.GetFirst(); item != null; item = (Outlook.MailItem)items.GetNext())
    {
       
    if (item.Subject == SubjectName) { //do something; }
       Marshal.ReleaseComObject(item);
    }
     Marshal.ReleaseComObject(items);

    It should work fine at least working at my Desktop :)

Page 1 of 1 (3 items)