이 블로그는 http://blog.greenmaru.com으로 이동 하였습니다.
2010년 12월 이후 업데이트는 새로운 블로그를 통해서만 이루어 집니다. 현재 보고 계신 페이지는 2011년 12월에 없어질 예정 이므로, 필요하신 분께서는 새로운 블로그로 링크를 변경해 주시기 바랍니다.
번거롭게 해 드려 죄송합니다.
<greenb>

파일을 클립보드로 복사하기

여기저기 뒤적거려서 어찌어찌 구현 했는데.. 한글 파일명이 안되서 개고생 했다 -_-;
부연설명 없다. 알아서들 파악해서 쓰시라~ -ㅅ-);;

  1. void _CopyFileToClipboard( LPCTSTR lpszFileName )   
  2. {   
  3. #ifdef _UNICODE   
  4.     DROPFILES dobj = { 20, { 0, 0 }, 0, 1 };   
  5. #else   
  6.     DROPFILES dobj = { 20, { 0, 0 }, 0, 0 };   
  7. #endif   
  8.     int nLen = static_cast<int>( _tcslen( lpszFileName ) *sizeof(TCHAR) );   
  9.     int nGblLen =sizeof(dobj) + nLen + 1;    //lots of nulls and multibyte_char   
  10.     HGLOBAL hGbl = GlobalAlloc(GMEM_ZEROINIT|GMEM_MOVEABLE|GMEM_DDESHARE, nGblLen);   
  11.   
  12.     LPTSTR sData = (LPTSTR)::GlobalLock(hGbl);   
  13.     memcpy( sData, &dobj, 20 );   
  14.     memcpy( (LPSTR)(sData+20), lpszFileName, nLen );   
  15.   
  16.     ::GlobalUnlock(hGbl);   
  17.   
  18.     if( OpenClipboard( NULL ) )   
  19.     {   
  20.         EmptyClipboard();   
  21.         SetClipboardData( CF_HDROP, hGbl );   
  22.         CloseClipboard();   
  23.     }   
  24. }  
저작자 표시 비영리 변경 금지

'소프트웨어 개발' 카테고리의 다른 글

Windows OS Version 알아내기  (7) 2009/04/13
CrateDirectory 응용  (4) 2009/04/08
파일을 클립보드로 복사하기  (5) 2009/04/06
Connection String이 필요할땐?  (5) 2009/04/03
std::string의 ReplaceAll 함수  (2) 2009/04/02
File Size 출력 - StrFormatByteSize  (4) 2009/04/01
Tag // ,

Trackback Address >> http://greenmaru.com/trackback/13 관련글 쓰기

Comment List

  1. 국방위원장 2009/04/06 14:47 address / modify or delete / reply

    걍 Ctrl+C, Ctrl+V 하면 되는거 아냐? ㅋㅋㅋ

  2. BlogIcon SteroidS 2011/11/29 06:16 address / modify or delete / reply

    읽기 주셔서 감사합니다. 좋은 하루 되세요 ... ^ ^

  3. BlogIcon 아가 2012/01/11 02:59 address / modify or delete / reply

    수박 겉 핥기

  4. BlogIcon 김보경 2012/01/13 13:13 address / modify or delete / reply

    멋진 작품을 계속

|  1  | ...  88  |  89  |  90  |  91  |  92  |  93  |  94  |  95  |  96  | ...  104  |