티스토리 뷰
.h 파일에 아래 함수 선언
int CopyTextToClipboard(const char *ap_string);
.cpp에 아래 코드 작성
// 복사 코드
CString strTemp = _T("test");
const char* convertMsg;
CT2A ascii(strTemp, CP_UTF8);
convertMsg = ascii.m_psz;
CopyTextToClipboard(convertMsg);
// 복사 함수
int CTestDlg::CopyTextToClipboard(const char *ap_string)
{
// 저장할 문자열의 길이를 구한다. ('\0'까지 포함한 크기)
int string_length = strlen(ap_string) + 1;
// 클립보드로 문자열을 복사하기 위하여 메모리를 할당한다.
// 클립보드에는 핸들을 넣는 형식이라서 HeapAlloc 함수 사용이 블가능하다.
HANDLE h_data = ::GlobalAlloc(GMEM_DDESHARE | GMEM_MOVEABLE, string_length);
// 할당된 메모리에 문자열을 복사하기 위해서 사용 가능한 주소를 얻는다.
char *p_data = (char *)::GlobalLock(h_data);
if (NULL != p_data)
{
// 할당된 메모리 영역에 삽입할 문자열을 복사한다.
memcpy(p_data, ap_string, string_length);
// 문자열을 복사하기 위해서 Lock 했던 메모리를 해제한다.
::GlobalUnlock(h_data);
if (::OpenClipboard(m_hWnd))
{
::EmptyClipboard(); // 클립보드를 연다.
::SetClipboardData(CF_TEXT, h_data); // 클립보드에 저장된 기존 문자열을 삭제한다.
// 클립보드로 문자열을 복사한다.
::CloseClipboard(); // 클립보드를 닫는다.
}
}
return 0;
}
'🪄 프로그래밍' 카테고리의 다른 글
| ArrayList 역순으로 재정렬하기 (0) | 2019.06.05 |
|---|---|
| [HTML] URL 주소 도메인 고정하기 (1) | 2018.07.02 |
| [Android] String형 ↔ Double형 변환 (0) | 2018.06.29 |
| [Android] Toast 메세지 띄우기 (0) | 2018.06.28 |
| [Android] 배터리 정보 가져오기 (0) | 2018.06.28 |
- Total
- Today
- Yesterday
- 프로그래밍
- 인공지능뉴스
- 리빙스타일
- 창의성
- 동영상
- 디지털전환
- 집꾸미기
- 자기계발
- 바이러스
- 개발
- 미래기술
- 스마트홈
- 뇌과학
- 건강관리
- 생활정보
- Android
- 최적화
- 코딩
- 생활과학
- 공간스타일링
- CES2026
- 라이프스타일
- 안드로이드
- 음성
- 도파민
- 업무효율
- 다운로드
- 피디에스박스
- IT트렌드
- 프로그램
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
