Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Get the Data from the Clipboard
- IDataObject clipBoardDataObject = Clipboard.GetDataObject();
- //The format of the object data is "ESRI Layers" (this can be checked using clipBoardDataObject.GetFormats();)
- MemoryStream geomStream = clipBoardDataObject.GetData("ESRI Layers") as MemoryStream;
- byte[] bytes = geomStream.ToArray();
- IMemoryBlobStreamVariant memoryBlobStreamVariant = new MemoryBlobStreamClass();
- memoryBlobStreamVariant.ImportFromVariant(bytes);
- IMemoryBlobStream2 memoryBlobStream = memoryBlobStreamVariant as IMemoryBlobStream2;
- IStream stream = memoryBlobStream as IStream;
- IObjectStream objectStream = new ObjectStreamClass();
- objectStream.Stream = stream;
- byte pv;
- uint cb = sizeof(int);
- uint pcbRead;
- objectStream.RemoteRead(out pv, cb, out pcbRead);
- int count = Convert.ToInt32(pv);
- //Guid you find in the ESRI ILayer Interface
- Guid iLayerGuid = new Guid("34C20002-4D3C-11D0-92D8-00805F7C28B0");
- for (int i = 0; i < count; i++)
- {
- object o = objectStream.LoadObject(ref iLayerGuid, null);
- ILayer layer = o as ILayer;
- }
- //Get the Data from the Clipboard
- IDataObject clipBoardDataObject = Clipboard.GetDataObject();
- MemoryStream geomStream = clipBoardDataObject.GetData("ESRI Geometry List") as MemoryStream;
- byte[] bytes = geomStream.ToArray();
- IMemoryBlobStreamVariant memoryBlobStreamVariant = new MemoryBlobStreamClass();
- memoryBlobStreamVariant.ImportFromVariant(bytes);
- IMemoryBlobStream2 memoryBlobStream = memoryBlobStreamVariant as IMemoryBlobStream2;
- IStream stream = memoryBlobStream as IStream;
- IObjectStream objectStream = new ObjectStreamClass();
- objectStream.Stream = stream;
- byte pv;
- uint cb = sizeof(int);
- uint pcbRead;
- objectStream.RemoteRead(out pv, cb, out pcbRead);
- int count = Convert.ToInt32(pv);
- //What to do next? What object do I need to unpack to?
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement