2011-01-19 3 views
2

좋아,C# 저장 후 클립 보드를 통해 데이터 다시 검색

그래서 나는 데이터를 클립 보드에 자동으로 복사 한 다음 메모리에 복사합니다. 내가하고 싶은 일은 프로그램을 실행하기 전에 클립 보드에있는 데이터를 저장 한 다음 필요한 작업을 마친 후에 다시 클립 보드로 복사하는 것입니다.

I 데이터가 그와 같은 클립 보드 fromt 얻을 수 있습니다 : 내가 할, 클립 보드에 데이터를 다시 넣을 때 데이터가 캐스팅에 그 어떤 형식

IDataObject currentClipboard = Clipboard.GetDataObject(); 

그러나, 내가 알 필요가 그것?

이 방법이 있습니까?

감사합니다.

+1

'IDataObject.GetFormats (true)'는 데이터를 기본적으로 변환 할 수있는 모든 타입 스트링을 반환합니다. – fjdumont

답변

2

당신은 안정적으로 이전 상태로 클립 보드를 복원 할 수 없습니다. 기간. 간단한 형식을 사용하면 빠져 나갈 수 있습니다. 좀 더 복잡한 형식, 특히 OLE 및 개인 형식으로 변환하면 훨씬 더 복잡해집니다. Delayed Rendering에 대해 읽어보십시오. 데이터가 아직 클립 보드에도 적용되지는 않습니다. 따라서 데이터를 요청하면 데이터를 저장할 수 있으므로 지연이 오래 걸릴 수 있습니다. Excel에서 약 5000 개의 셀을 약 24 개의 다른 형식으로 렌더링 할 수 있습니다. 대부분이 지연된 렌더링을 사용합니다 (특정 형식으로 데이터를 요청하기 전까지 클립 보드에 있지 않은 것을 의미하며 Excel에서 생성해야 함). 주문형).
그리고 가능하다해도 데이터를 복원 할 때마다 등록 된 모든 클립 보드 뷰어로 보내질 클립 보드 업데이트 이벤트가 생성되어 shennanegans에 반응합니다. 요약하면 :하지 마십시오.

+0

"unless"절이 불필요합니다. 못. 안돼. 불가능합니다. –

+0

@worm - agree. –

관련 문제