Microsoft MVP성태의 닷넷 이야기
개발 환경 구성: 74. VS.NET - 매크로 함수 내에서 클립보드 API 사용 [링크 복사], [링크+제목 복사],
조회: 10165
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 
(연관된 글이 1개 있습니다.)

VS.NET - 매크로 함수 내에서 클립보드 API 사용


VS.NET에서 제공되는 매크로 함수에서 클립보드를 접근하기 위해서는 .NET BCL에서 제공되는 클립보드 관련 클래스를 이용해서 다음과 같이 사용할 수 있습니다.

Sub InternalSetClipboardData()
	Clipboard.SetText("클립보드 예제")
End Sub

해보신 분들은 아시겠지만. ^^ 대개 다음과 같은 식의 오류 화면이 뜨고 맙니다.

when_macro_execute_clipboard_api_1.png

말 그대로입니다. OLE 관련 호출은 "MTA"가 아닌 "STA"로 초기화된 스레드에서 실행되어져야 하기 때문에 이와 같은 문제가 발생하는 것입니다.

해결책은... ^^ 다음의 토픽에서 제공되는 코드를 활용하시면 됩니다.

Copying Visual Studio code snippets to the clipboard as HTML
; http://www.codinghorror.com/blog/archives/000429.html

어떻게 하는지 간략하게 코드를 실어보겠습니다.

Sub CopyToClipboard()
    Dim thread As New Threading.Thread(AddressOf InternalSetClipboardData)
    thread.ApartmentState = Threading.ApartmentState.STA
    thread.Start()
    thread.Join()
End Sub

Sub InternalSetClipboardData()
    Clipboard.SetText("클립보드 예제")
End Sub





[이 토픽에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]

[연관 글]






[최초 등록일: ]
[최종 수정일: 3/3/2023]


비밀번호

댓글 작성자
 




1  2  3  4  5  6  7  8  9  [10]  11  12  13  14  15  ...
NoWriterDateCnt.TitleFile(s)
950정성태4/24/200810580.NET : 78. Ajax View
949정성태4/24/200810410.NET : 77. Transactional NTFS - 관리 코드 래퍼
948정성태4/22/200810774TFS : 162. Sarbanes-Oxley 404 / Visual Studio Team System 2008
947정성태4/11/200810925TFS : 161. Web Access 2008 SP1 파워툴 2008년 4월 CTP
946정성태4/6/200812674.NET 3.5 : 41. 사용자 정의 LINQ Provider 제작파일 다운로드1
945정성태4/6/200810821VS.NET IDE : 42. Class Designer Powertoys (VS.NET 2008)파일 다운로드1
944정성태4/1/200812747Debug : 36. Visual C++ - 메모리 누수 코드 감지 [1]
943정성태3/28/200811567VS.NET IDE : 41. 라인수 세어주는 애드인
942정성태3/27/200810944Debug : 35. Managed Debug Assistants (MDAs)
941정성태3/25/200811634.NET : 76. 닷넷 코드 가이드라인
940정성태3/25/200811051Windows 2008 : 7. Microsoft: Hyper-V RC
939정성태3/25/200812125.NET 3.5 : 40. ASP.NET MVC 소스 코드 공개
938정성태3/25/200810892IIS : 23. IIS7 - Administration Pack [1]
937정성태3/25/200810855.NET : 75. PRISM - something like PResentation Integration SysteM.
936정성태3/25/200811764개발 환경 구성: 123. SPN(Service Principal Name)이 뭘까? [1]
935정성태3/25/200810891TFS : 160. BuildCop v1.0
934정성태3/25/200811679TFS : 159. TFS 프록시 서버 동작 방식
933정성태3/10/200811492TFS : 158. Process Template v4.2
932정성태3/5/20089979IIS : 22. IIS 7 관리자의 UI 확장
931정성태3/5/200810877.NET : 74. CAS 이야기 - Native Code 와 Link/Full Demand
930정성태3/2/200810724.NET : 73. Variable Capturing
929정성태3/1/200810762개발 환경 구성: 122. VS.NET 2008 용 PowerCommands 도구 [1]
928정성태3/1/200811422개발 환경 구성: 121. 설치된 Windows SDK 들 간의 선택을 간편하게 해주는 설정 도구 [1]
927정성태2/29/200811041개발 환경 구성: 120. Hyper-V와 Virtual PC/Server와의 VHD 호환성 [1]
926정성태2/29/200814131.NET 3.5 : 39. LINQ Providers
925정성태2/27/200811359TFS : 157. OpenGauntlet - Private Builds
1  2  3  4  5  6  7  8  9  [10]  11  12  13  14  15  ...