Hello everyone, I'm new to the forum and this is only my second post, so I apologize in advance for any mistakes. This is my situation: I'm using Microsoft Visual Studio 2008 with .Net Framework 3.5. I'm developing an extension of the Windows Shell Context menu, and I did it, but I have a problem: when my menu is invoked on the links (*.lnk), it doesn't work and prevents the upper voices. This only occurs on Vista and Seven, not on XP. This is the IContextMenu.QueryContextMenu: Code: int IContextMenu.QueryContextMenu(uint hmenu, uint iMenu, int idCmdFirst, int idCmdLast, uint uFlags) { //Clicked file StringBuilder sb = new StringBuilder(1024); DllImports.DragQueryFile(m_hDrop, 0, sb, sb.Capacity + 1); //If it's a link (*.lnk) exits //Maybe the mistake is here, but I don't know! if (new FileInfo(sb.ToString()).Extension == ".lnk") { return 1; } // Adds the menus for (int i = 0; i < Menus.Length; i++) { //Updates the ID Menus[i].MenuItemInfo.wID += idCmdFirst; //Verifies if the menu has some submenus if (Menus[i].SubMenu != null) { PopolateSubMenu(Menus[i], idCmdFirst); } //Adds the menu DllImports.InsertMenuItem(hmenu, Menus[i].Position - 1, 1, ref Menus[i].MenuItemInfo); //Adds the icon if (Menus[i].Image != null) { System.Drawing.Bitmap Bmp = Menus[i].Image; DllImports.SetMenuItemBitmaps((IntPtr)hmenu, (IntPtr)(Menus[i].Position - 1), 0x400, Bmp.GetHbitmap(), Bmp.GetHbitmap()); } } // Returns the number of added menu item return (int)(NumeroMenu + 1); } I don't know what to do! Please help me! Thank you in advance for your help! PS: I apologize for my bad English, too: I'm Italian!