private void CopyGuidToClipboard(Guid guid, CopyGuidType copyType)
        {
            string strCopy = null;

            switch (copyType)
            {
            case CopyGuidType.CopyAsObject:
                strCopy = String.Format("<object id=\"obj\" classid=\"clsid:{0}\">NO OBJECT</object>",
                                        guid.ToString());
                break;

            case CopyGuidType.CopyAsString:
                strCopy = guid.ToString("B");
                break;

            case CopyGuidType.CopyAsStructure:
            {
                MemoryStream ms     = new MemoryStream(guid.ToByteArray());
                BinaryReader reader = new BinaryReader(ms);
                strCopy  = "struct GUID guidObject = { ";
                strCopy += String.Format("0x{0:X08}, 0x{1:X04}, 0x{2:X04}, {{", reader.ReadUInt32(),
                                         reader.ReadUInt16(), reader.ReadUInt16());
                for (int i = 0; i < 8; i++)
                {
                    strCopy += String.Format("0x{0:X02}, ", reader.ReadByte());
                }
                strCopy += "}};";
            }
            break;

            case CopyGuidType.CopyAsHexString:
            {
                byte[] data = guid.ToByteArray();
                strCopy = String.Join(" ", data.Select(b => String.Format("{0:X02}", b)));
            }
            break;
            }

            if (strCopy != null)
            {
                Clipboard.SetText(strCopy);
            }
        }
        private void CopyGuidToClipboard(Guid guid, CopyGuidType copyType)
        {
            string strCopy = null;

            switch (copyType)
            {
                case CopyGuidType.CopyAsObject:
                    strCopy = String.Format("<object id=\"obj\" classid=\"clsid:{0}\">NO OBJECT</object>",
                        guid.ToString());
                    break;
                case CopyGuidType.CopyAsString:
                    strCopy = guid.ToString("B");
                    break;
                case CopyGuidType.CopyAsStructure:
                    {
                        MemoryStream ms = new MemoryStream(guid.ToByteArray());
                        BinaryReader reader = new BinaryReader(ms);
                        strCopy = "struct GUID guidObject = { ";
                        strCopy += String.Format("0x{0:X08}, 0x{1:X04}, 0x{2:X04}, {{", reader.ReadUInt32(),
                            reader.ReadUInt16(), reader.ReadUInt16());
                        for (int i = 0; i < 8; i++)
                        {
                            strCopy += String.Format("0x{0:X02}, ", reader.ReadByte());
                        }
                        strCopy += "}};";
                    }
                    break;
                case CopyGuidType.CopyAsHexString:
                    {
                        byte[] data = guid.ToByteArray();
                        strCopy = String.Join(" ", data.Select(b => String.Format("{0:X02}", b)));                        
                    }
                    break;                
            }

            if (strCopy != null)
            {
                Clipboard.SetText(strCopy);
            }
        }