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); } }