【MoreWindows工作筆記11】EnumClipboardFormats 剪下板內容的資料格式

來源:互聯網
上載者:User

// 【MoreWindows工作筆記11】EnumClipboardFormats 剪下板內容的資料格式// http://blog.csdn.net/morewindows/article/details/17655299// 參考http://msdn.microsoft.com/en-us/library/windows/desktop/ms649013(v=vs.85).aspx#include <Windows.h>#include <iostream>#include <cstdio>using namespace std;int main(){  printf("   【MoreWindows工作筆記11】OleGetClipboard 訪問剪下板的常值內容\n");  printf(" - http://blog.csdn.net/morewindows/article/details/17655053 -\n");  printf(" -- By MoreWindows( http://blog.csdn.net/MoreWindows ) --\n\n");  if (OpenClipboard(NULL))   {    // 由於設定了VX在複製時帶上文字顏色,所以從VS2008中拷貝文本時,資料格式不為CF_UNICODETEXT    UINT clipboard_format;    while (clipboard_format = EnumClipboardFormats(0))     {      printf("Clipboard Data Format = 0x%x\n", clipboard_format);      HGLOBAL global_memory = GetClipboardData(clipboard_format);      LPCSTR clipboard_data = (LPCSTR)GlobalLock(global_memory);      if (clipboard_data != NULL)       {        // 剪下板上資料的地址        printf("Clipboard Data Address = 0x%x\n", global_memory);        // 剪下板上資料大小        DWORD data_size = GlobalSize(global_memory);        printf("Data Size = %d\n", data_size);        // 16進位輸出資料        printf("Data: ");        for (DWORD i = 0; i < data_size; i++)         {          if (i % 8 == 0) putchar(' ');          if (i % 16 == 0) putchar('\n');          printf("%02x ", (UCHAR)clipboard_data[i]);        }        putchar('\n');        // 輸出部分資料        switch (clipboard_format)         {          case CF_TEXT:            printf(" 資料格式:CF_TEXT   資料內容:\n%s\n", clipboard_data);            break;          case CF_UNICODETEXT:            printf(" 資料格式:CF_UNICODETEXT 資料內容:\n%ls\n", (LPCWSTR)clipboard_data);            break;        }        GlobalUnlock(global_memory);      }      CloseClipboard();    }  }  return 0;}



 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.