labview深入探索----labview和ClipBoard(剪切板)
剪貼板內置在windows中,并且使用系統的內部資源RAM,或虛擬內存來臨時保存剪切和復制的信息,可以存放的信息種類是多種多樣的。剪切或復制時保存在剪貼板上的信息,只有再剪貼或復制另外的信息,或停電、或退出windows,或有意地清除時,才可能更新或清除其內容,即剪貼或復制一次,就可以粘貼多次。
本文引用地址:http://www.104case.com/article/201701/337212.htmclipboard本質上一段共享的內存區域,任何應用程序都可以讀寫clipboard,相當于全局變量,不過這個全局變量是針對WINDOWS操作系統的,所以它可以實現在幾個LV執行文件或者LV和其它WINDOWS程序實現數據傳遞,只所以LV很少涉及到它,因為它不太適合實時控制,在任何時刻,任何WINDOWS程序都可以進行讀寫,讀沒問題,因為剪切板讀操作是不會清理剪切板的,而寫操作則會更新剪切板,原來的信息丟失.
共享內存在單片中,有硬件雙口RAM,原理和剪切板類似,應用非常廣泛,主要用于實現一個控制板上多個單片機交換數據.
LV是否直接支持剪切板操作那? lv在APP屬性節點中提供了操作CLIPBOARD的功能.
上面非黃色的屬性節點在LV中是看不到了,NI公司未公開的私有屬性節點,NI不保證它在以后的版本中繼續支持.
私有屬性節點是從CLIPBOARD讀取圖片.
CLIPBOARD READ屬性節點是從CLIPBOARD讀取字符串
CLIPBOARD TEXT屬性節點是向CLIPBOARD寫入字符串.
CLIPBOARD SAVE是暫時存儲CLIPBOARD內容,可以用 CLIPBOARD RESTORE恢復.
可見,LABVIEW直接支持CLIPBOARD對字符串的操作.沒有直接提供對圖片的支持.
PREDEFINED CLIPBOARD FORMATS
-------------------------------------------
CF_TEXT = 1
CF_BITMAP = 2
CF_METAFILEPICT = 3
CF_SYLK = 4
CF_DIF = 5
CF_TIFF = 6
CF_OEMTEXT = 7
CF_DIB = 8
CF_PALETTE = 9
CF_PENDATA = 10
CF_RIFF = 11
CF_WAVE = 12
CF_UNICODETEXT = 13
CF_ENHMETAFILE = 14
CF_HDROP = 15
CF_LOCALE = 16
CF_MAX = 17
CF_OWNERDISPLAY 0x0080
CF_DSPTEXT 0x0081
CF_DSPBITMAP 0x0082
CF_DSPMETAFILEPICT 0x0083
CF_DSPENHMETAFILE 0x008E
可見,WINDOWS支持CLIIPBOARD多種格式,但是最常見的還是字符串和圖片格式.
我們看看如何才能實現CLIPBOARD圖片的讀寫那
在IMAQ中,直接提供的了CLIPBOARD圖片操作函數,但是一般人的計算機上都沒有安裝,可以利用PICTURE BOX間接實現圖片寫入CLIPBOARD.
這是PICTURE BOX的導出圖片的方法節點
把圖片寫入PICTURE BOX是非常簡單的,看一下例子,目的是把前面板形成圖片寫入剪切板
評論