1. ilib 中 richedit 文本內容怎麼樣才能夠實現復制
現在有很多網頁不能復制,現收集一些可取方法:
一屏蔽右鍵的破解方法
1、出現版權信息類的情況。
破解方法:在頁面目標上按下滑鼠右鍵,彈出限制窗口,這時不要松開右鍵,將滑鼠指針移到窗口的「確定」按鈕上,同時按下左鍵。現在松開滑鼠左鍵,限制窗口被關閉了,再將滑鼠移到目標上松開滑鼠右鍵。
2出現「添加到收藏夾」的情況。
破解方法:在目標上點滑鼠右鍵,出現添加到收藏夾的窗口,這時不要松開右鍵,也不要移動滑鼠,而是使用鍵盤的Tab鍵,移動游標到取消按鈕上,按下空格鍵,這時窗口就消失了,松開右鍵看看,wonderful!右鍵恢復雄風了!將滑鼠移動到你想要的功能上,點擊左鍵吧
3超鏈接無法用滑鼠右鍵彈出「在新窗口中打開」菜單的情況。
破解方法:這時用上面的兩種方法無法破解,看看這一招:在超鏈接上點滑鼠右鍵,彈出窗口,這時不要松開右鍵,按鍵盤上的空格鍵,窗口消失了,這時松開右鍵,可愛的右鍵菜單又出現了,選擇其中的「在新窗口中打開」就可以了。
4、在瀏覽器中點擊「查看」菜單上的「源文件」命令,這樣就可以看到html源代碼了。不過如果網頁使用了框架,你就只能看到框架頁面的代碼,此方法就不靈了,怎麼辦?你按鍵盤上的「Shift+F10」組合鍵試試。
5、看見鍵盤右Ctrl鍵左邊的那個鍵了嗎?按一下試試,右鍵菜單直接出現了!
6、在屏蔽滑鼠右鍵的頁面中點右鍵,出現限制窗口,此時不要松開右鍵,用左手按鍵盤上的「ALT+F4」組合鍵,這時窗口就被關閉了,松開滑鼠右鍵,菜單出現了
二、不能復制的網頁解決方法
1、啟動IE瀏覽器後,用滑鼠點擊「工具」中的Internet「選項」菜單,選擇「安全」選項卡,接下來點擊「自定義級別」按鈕,在彈出的窗口中將所有腳本全部選擇禁用,確定。然後按F5刷新頁面,這時我們就能夠對網頁的內容進行復制、粘貼等操作。當你收集到自己需要的內容後,再用相同步驟給網頁腳本解禁,這樣就不會影響到我們瀏覽其他網頁了。你或者選文件另存,格式為TXT,然後排版也可以。
2、左鍵限制,不讓拖動,無法選擇內容,怎麼辦,簡單,點右鍵,點查看源文件,將之前的東東全部DEL,點另存為*。HTM,打開,是不是可以拖了
3、點??查看 --原文件--使用替換法把也替換成空格,再保存為htm格式的文件,注意在文件名兩頭要加上英文字元的"",或在保存類型下拉列表裡選擇「所有類型」,文件名樣例"001.htm"
或者直接在你的IE中選擇「文件」的「保存」或「另存」
4、如果只為了保存文字以備以後查閱,最簡單快速的方法是另存為「Web頁,僅HTML」類型。選『文件』菜單中的『另存為』命令,然後滑鼠點擊『保存類型』方框右邊的小三角,選第三種『Web頁,僅HTML』類型,在『保存在』方框處選擇要存放的位置,然後選『保存』按鈕即將該網頁保存到你的電腦里。(不過這種保存的缺點是只保存文字,沒有圖片) 注意:這種保存後的網頁只是便於收藏和查看,網頁內容還是不能復制,如果要復制文字內容,還是要提高瀏覽器的安全級別後才能復制。
5、把該事件的JavaScript處理代碼去掉即可。以微軟的IE瀏覽器為例,具體處理過程如下:點擊「查看→源文件」(當主頁文本小於64k位元組時,自動調用記事本程序打開;否則,用寫字板程序打開),尋找語句, 語句類似。將其中的onselectstart="return?false"子句刪除。將此刪除後的源文件,另存為一文本文件。然後用將此文本文件名的後綴改名為「.htm」。最後用IE瀏覽器打開此文件。就可以用復制、粘貼的方法將所需的內容按用戶所需的格式保存起來了。
6、選擇「文件」—「另存為」,把「保存類型」改為「文本文件(TXT)」,把網頁另存為文本文件,一切都搞定了。
7、對網頁禁止復制和屏蔽右鍵的通用破解方法:小工具――超星圖書瀏覽器!安裝上軟體後在需要復制的頁面上點右鍵,會出現「導出當前頁到超星圖書瀏覽器」,然後會通過這個工具打開頁面,此時無論操作都可以!右鍵菜單全出來了!方法很簡單!需要復制頁面的。
還有:
第一步:打開你想要復制的那個網站
第二步:將該網頁另存到你的電腦上(文件|另存為)
第三步:用記事本打開你剛保存的網頁,找到<body onselectstart = "return false"; onpaste="return false" >這段代碼(不一定完全是這樣的),你把裡面的代碼(除body)全部刪除,最後就剩<body>,保存文件。
第四步:雙擊剛保存的文件,也就打開保存的那張網頁。
網上一些文章,自己加了設置,不讓人復制,想復制,怎麼辦,可採用以下辦法嘗試。
一、就是保存網頁,然後復制
二、在查看-原代碼-下看但所要的文字
三、就是換了瀏覽器,要知道禁用SCRIPT,你換個瀏覽器就OK
四、用左鍵選擇,Ctrl+C復制,然後打開記事本,Ctrl+V粘貼。對圖片無效圖片的按print screen抓屏,在畫筆里粘貼。點Print Screen SysRq鍵.這是全屏接圖.然後到程序--附件--畫圖工具--編輯裡面去,按個粘貼.這樣把你要的東西復制下來
教你一招:解決網頁文字無法復制的問題
我們在瀏覽某些網頁時,有的時候你想選取某些文本進行復制,可按住滑鼠左鍵拖動,無論如何也無法選中需要的文字。這是網頁的設計者給它加入了不能選中的腳本,簡單防止別人拷貝其網頁內容。其實解決的辦法很簡單,你可以通過單擊IE瀏覽器的「工具/Internet選項」菜單,進入「安全」標簽頁,單擊「自定義級別」按鈕,在打開的「安全設置」對話框中,將所有「腳本」選項禁用,確定後按F5鍵刷新網頁,你就會發現那些無法選取的文字可以選取了。注意的是在採集到了自己需要的內容後,記得給腳本解禁,否則會影響我們瀏覽網頁。
此外,你也可以直接按住「Ctrl+A」鍵將網頁中的全部內容選中,接著單擊「編輯」菜單的「復制」命令,然後將這些內容粘貼到Word文檔或記事本中,再從Word文檔或記事本中選取需要的文字進行復制。
把整個網頁保存成文本文件 方法如下
打開要保存的網頁
點文件--另存為-然後在保存類型中選擇 文本文件(txt)
然後保存就好了
有人曾經教過我一個辦法解決不能復制的網頁:
點開工具欄上的「查看」,找到「查看源文件」。可以打開一個文本文件,在裡面可以找到網頁的內容,就可以復制了。
如果不能右鍵復制,那就點菜單中"查看",再點"源文件",這時網頁內容就是完全的記事本TXT文件,找到相關內容再復制就可以了.
如何破解網頁不能復制文字
來源:原創
上網時經常會遇到自己想要的資料,但用滑鼠來選中復制時卻無法選中,遇到這樣的情況是不是就此打住了呢?
當然不是!現在就讓我來告訴你怎麼復制這些你想要的文字。
首先,我們來了解一下為什麼不能被復制。
當前很多網頁製做者都不想讓自己網頁中的內容直接就讓人給復制去,有的是為了版權、有的是為了讓人再回來看這段文字,提高他的訪問量等等,具體原因我也說不清的啦。他們一般會在網頁代碼 <body >中加入以下一個或多個代碼:
onpaste="return false" 不準粘貼
on="return false;" 不準復制
oncut="return false;" 防止剪切
onselectstart = "return false" 不準選擇
例如:<body onselectstart = "return false"; onpaste="return false" >,這是一個典型的不讓選擇復制的語句。
好啦,現在我們知道為什麼不能被復制了,那我們就可以針對這些代碼下葯了。
第一步:打開你想要復制的那個網站
第二步:將該網頁另存到你的電腦上(文件|另存為)
第三步:用記事本打開你剛保存的網頁,找到<body onselectstart = "return false"; onpaste="return false" >這段代碼(不一定完全是這樣的),你把裡面的代碼(除body)全部刪除,最後就剩<body>,保存文件。
第四步:雙擊你剛保存的文件,也就打開民你的那張網頁。
到此,所有步驟全部結束了,用滑鼠選擇你想要的那些文字,是不是可以選擇並且復制下來了?
一般而言,如果打開某個網頁,你感覺內容不錯,需要復制或者另存為下載保存時,碰到不能出現右鍵菜單的情形時,你至少可以有三種以上的方法處理:一是通過使用IE瀏覽器「文件」下拉菜單中的「發送」之「電子郵件頁面」的操作,在電子郵件頁面中去復制,從而實現下載的目的。二是可以通過使用IE瀏覽器「的編輯器功能,如WORD等軟體,在編輯狀態下可以實現復制和下載。三是可以通過使用IE瀏覽器」查看「菜單之」源文件「功能,在彈出的窗口中可以找到你需要復制和下載的內容,但沒有格式。除此之外,還可以通過其他比較具有特殊功能的瀏覽器,如火狐等,實現一般IE瀏覽器所不能實現的功能。
但是,有時你按照上述三種或者多種途徑仍然不能實現復制或者下載的目的時,我便提醒諸位,還有另一絕招,即通過查找相關標題內容的網頁快照的辦法,目前網路、GOOGLE等搜索引擎都具有網頁快照的功能,這當然是復制和下載的最好辦法。
2. ilib的Option屬性設置
<Controls>
<Window parent="">
<Attribute name="size" default="0,0" type="SIZE" comment="窗口的初始化大小,如(800,600)"/>
<Attribute name="sizebox" default="0,0,0,0" type="RECT" comment="窗口可拖動改變窗口大小的邊距,如(4,4,6,6)"/>
<Attribute name="caption" default="0,0,0,0" type="RECT" comment="窗口可拖動的標題欄大小的邊距,最後一個參數是指離上邊框的距離,如(0,0,0,28)"/>
<Attribute name="roundcorner" default="0,0" type="SIZE" comment="窗口圓角大小,如(4,4)"/>
<Attribute name="mininfo" default="0,0" type="SIZE" comment="窗口最小大小,如(320,240)"/>
<Attribute name="maxinfo" default="0,0" type="SIZE" comment="窗口最大大小,如(1600,1200)"/>
<Attribute name="alpha" default="255" type="BYTE" comment="窗口的alpha值(0-255),如(100)"/>
<Attribute name="bktrans" default="false" type="BOOL" comment="窗口是否使用靜態透明背景,如(false)"/>
<Attribute name="disabledfontcolor" default="0xFFA7A6AA" type="DWORD" comment="默認的disabled字體顏色,如(0xFFA7A6AA)"/>
<Attribute name="defaultfontcolor" default="0xFF000000" type="DWORD" comment="默認的字體顏色,如(0xFF000000)"/>
<Attribute name="linkfontcolor" default="0xFF0000FF" type="DWORD" comment="默認的link字體顏色,如(0xFF0000FF)"/>
<Attribute name="linkhoverfontcolor" default="0xFFD3215F" type="DWORD" comment="默認的linkhoverfont字體顏色,如(0xFFD3215F)"/>
<Attribute name="selectedcolor" default="0xFFBAE4FF" type="DWORD" comment="默認的selected字體顏色,如(0xFFBAE4FF)"/>
<Attribute name="showdirty" default="false" type="BOOL" comment="繪制臟矩形(屏幕上更新的區域被稱為臟矩形)"/>
</Window>
<ChildLayout parent="Container" >
<Attribute name="xmlfile" default="" type="STRING" comment="子窗體XML布局文件"/>
</ChildLayout>
<Control parent="" notifies="setfocus killfocus timer menu windowinit(root)">
<Attribute name="name" default="" type="STRING" comment="控制項名字,同一窗口內必須唯一,如(testbtn)"/>
<Attribute name="pos" default="0,0,0,0" type="RECT" comment="位置,如果為float控制項則指定位置和大小,否則只指定大小,如(0,0,100,100)"/>
<Attribute name="padding" default="0,0,0,0" type="RECT" comment="外邊距,如(2,2,2,2)"/>
<Attribute name="bkcolor" default="0x00000000" type="DWORD" comment="背景顏色,如(0xFFFF0000)"/>
<Attribute name="bkcolor2" default="0x00000000" type="DWORD" comment="背景漸變色2,和bkcolor配合使用,如(0xFFFFFF00)"/>
<Attribute name="bkcolor3" default="0x00000000" type="DWORD" comment="背景漸變色3,和bkcolor、bkcolor2配合使用,如(0xFFFF00FF)"/>
<Attribute name="bordercolor" default="0x00000000" type="DWORD" comment="邊框顏色,如(0xFF000000)"/>
<Attribute name="focusbordercolor" default="0x00000000" type="DWORD" comment="獲得焦點時邊框的顏色,如(0xFFFF0000)"/>
<Attribute name="colorhsl" default="false" type="BOOL" comment="本控制項的顏色是否隨窗口的hsl變化而變化,如(false)"/>
<Attribute name="bordersize" default="0" type="INT | RECT" comment="可以設置INT或RECT類型的值。當值為ING時則左、上、右、下都用該值作為寬。值為RECT類型時則分別設置左、上、右、下的邊框"/>
<Attribute name="leftbordersize" default="0" type="INT" comment="左邊邊框大小,如(1),設置該值大於0,則將忽略bordersize屬性的設置"/>
<Attribute name="topbordersize" default="0" type="INT" comment="頂部邊框大小,如(1),設置該值大於0,則將忽略bordersize屬性的設置"/>
<Attribute name="rightbordersize" default="0" type="INT" comment="右邊邊框大小,如(1),設置該值大於0,則將忽略bordersize屬性的設置"/>
<Attribute name="bottombordersize" default="0" type="INT" comment="底部邊框大小,如(1),設置該值大於0,則將忽略bordersize屬性的設置"/>
<Attribute name="borderstyle" default="0" type="INT" comment="邊框樣式的設置,數值范圍0-5"/>
<Attribute name="borderround" default="0,0" type="SIZE" comment="邊框圓角半徑,如(2,2)"/>
<Attribute name="bkimage" default="" type="STRING" comment="背景圖片,如(bk.bmp或file='aaa.jpg' res='' restype='0' dest='0,0,0,0' source='0,0,0,0' corner='0,0,0,0' mask='#FF0000' fade='255' hole='false' xtiled='false' ytiled='false')"/>
<Attribute name="width" default="0" type="INT" comment="控制項預設的寬度,如(100)"/>
<Attribute name="height" default="0" type="INT" comment="控制項預設的高度,如(30)"/>
<Attribute name="minwidth" default="0" type="INT" comment="控制項的最小寬度,如(100)"/>
<Attribute name="minheight" default="0" type="INT" comment="控制項的最小高度,如(30)"/>
<Attribute name="maxwidth" default="9999" type="INT" comment="控制項的最大寬度,如(100)"/>
<Attribute name="maxheight" default="9999" type="INT" comment="控制項的最大高度,如(30)"/>
<Attribute name="text" default="" type="STRING" comment="顯示文本,如(測試文本)"/>
<Attribute name="tooltip" default="" type="STRING" comment="滑鼠懸浮提示,如(請在這里輸入你的密碼)"/>
<Attribute name="userdata" default="" type="STRING" comment="自定義標識"/>
<Attribute name="enabled" default="true" type="BOOL" comment="是否可以響應用戶操作,如(true)"/>
<Attribute name="mouse" default="true" type="BOOL" comment="本控制項是否可以響應滑鼠操作,如(true)"/>
<Attribute name="visible" default="true" type="BOOL" comment="是否可見,如(true)"/>
<Attribute name="float" default="false" type="BOOL" comment="是否使用絕對定位,如(true)"/>
<Attribute name="shortcut" default="" type="CHAR" comment="對應的快捷鍵,如(P)"/>
<Attribute name="menu" default="false" type="BOOL" comment="是否需要右鍵菜單,如(true)"/>
<Attribute name="keyboard" default="true" type="BOOL" comment="非CButtonUI類忽略該值,為false時不支持TAB_STOP,且該對象不處理鍵盤信息"/>
</Control>
<Container parent="Control" notifies="setfocus killfocus timer menu windowinit(root)">
<Attribute name="name" default="" type="STRING" comment="控制項名字,同一窗口內必須唯一,如(testbtn)"/>
<Attribute name="pos" default="0,0,0,0" type="RECT" comment="位置,如果為float控制項則指定位置和大小,否則只指定大小,如(0,0,100,100)"/>
<Attribute name="padding" default="0,0,0,0" type="RECT" comment="外邊距,如(2,2,2,2)"/>
<Attribute name="bkcolor" default="0x00000000" type="DWORD" comment="背景顏色,如(0xFFFF0000)"/>
<Attribute name="bkcolor2" default="0x00000000" type="DWORD" comment="背景漸變色2,和bkcolor配合使用,如(0xFFFFFF00)"/>
<Attribute name="bkcolor3" default="0x00000000" type="DWORD" comment="背景漸變色3,和bkcolor、bkcolor2配合使用,如(0xFFFF00FF)"/>
<Attribute name="bordercolor" default="0x00000000" type="DWORD" comment="邊框顏色,如(0xFF000000)"/>
<Attribute name="focusbordercolor" default="0x00000000" type="DWORD" comment="獲得焦點時邊框的顏色,如(0xFFFF0000)"/>
<Attribute name="colorhsl" default="false" type="BOOL" comment="本控制項的顏色是否隨窗口的hsl變化而變化,如(false)"/>
<Attribute name="bordersize" default="1" type="INT" comment="邊框大小,如(1)"/>
<Attribute name="borderround" default="0,0" type="SIZE" comment="邊框圓角半徑,如(2,2)"/>
<Attribute name="bkimage" default="" type="STRING" comment="背景圖片,如(bk.bmp或file='aaa.jpg' res='' restype='0' dest='0,0,0,0' source='0,0,0,0' corner='0,0,0,0' mask='#FF0000' fade='255' hole='false' xtiled='false' ytiled='false')"/>
<Attribute name="width" default="0" type="INT" comment="控制項預設的寬度,如(100)"/>
<Attribute name="height" default="0" type="INT" comment="控制項預設的高度,如(30)"/>
<Attribute name="minwidth" default="0" type="INT" comment="控制項的最小寬度,如(100)"/>
<Attribute name="minheight" default="0" type="INT" comment="控制項的最小高度,如(30)"/>
<Attribute name="maxwidth" default="9999" type="INT" comment="控制項的最大寬度,如(100)"/>
<Attribute name="maxheight" default="9999" type="INT" comment="控制項的最大高度,如(30)"/>
<Attribute name="text" default="" type="STRING" comment="顯示文本,如(測試文本)"/>
<Attribute name="tooltip" default="" type="STRING" comment="滑鼠懸浮提示,如(請在這里輸入你的密碼)"/>
<Attribute name="userdata" default="" type="STRING" comment="自定義標識"/>
<Attribute name="enabled" default="true" type="BOOL" comment="是否可以響應用戶操作,如(true)"/>
<Attribute name="mouse" default="true" type="BOOL" comment="本控制項是否可以響應滑鼠操作,如(true)"/>
<Attribute name="mousechild" default="true" type="BOOL" comment="本控制項的子控制項是否可以響應用戶操作,如(true)"/>
<Attribute name="visible" default="true" type="BOOL" comment="是否可見,如(true)"/>
<Attribute name="float" default="false" type="BOOL" comment="是否使用絕對定位,如(true)"/>
<Attribute name="shortcut" default="" type="CHAR" comment="對應的快捷鍵,如(P)"/>
<Attribute name="menu" default="false" type="BOOL" comment="是否需要右鍵菜單,如(true)"/>
<Attribute name="inset" default="0,0,0,0" type="RECT" comment="容器的內邊距,如(2,2,2,2)"/>
<Attribute name="vscrollbar" default="false" type="BOOL" comment="是否使用豎向滾動條,如(true)"/>
<Attribute name="hscrollbar" default="false" type="BOOL" comment="是否使用橫向滾動條,如(true)"/>
<Attribute name="childpadding" default="0" type="INT" comment="子控制項之間的額外距離,如(4)"/>
</Container>
<VerticalLayout parent="Container" notifies="setfocus killfocus timer menu windowinit(root)">
<Attribute name="name" default="" type="STRING" comment="控制項名字,同一窗口內必須唯一,如(testbtn)"/>
<Attribute name="pos" default="0,0,0,0" type="RECT" comment="位置,如果為float控制項則指定位置和大小,否則只指定大小,如(0,0,100,100)"/>
<Attribute name="padding" default="0,0,0,0" type="RECT" comment="外邊距,如(2,2,2,2)"/>
<Attribute name="bkcolor" default="0x00000000" type="DWORD" comment="背景顏色,如(0xFFFF0000)"/>
<Attribute name="bkcolor2" default="0x00000000" type="DWORD" comment="背景漸變色2,和bkcolor配合使用,如(0xFFFFFF00)"/>
<Attribute name="bkcolor3" default="0x00000000" type="DWORD" comment="背景漸變色3,和bkcolor、bkcolor2配合使用,如(0xFFFF00FF)"/>
<Attribute name="bordercolor" default="0x00000000" type="DWORD" comment="邊框顏色,如(0xFF000000)"/>
<Attribute name="focusbordercolor" default="0x00000000" type="DWORD" comment="獲得焦點時邊框的顏色,如(0xFFFF0000)"/>
<Attribute name="colorhsl" default="false" type="BOOL" comment="本控制項的顏色是否隨窗口的hsl變化而變化,如(false)"/>
<Attribute name="bordersize" default="1" type="INT" comment="邊框大小,如(1)"/>
<Attribute name="borderround" default="0,0" type="SIZE" comment="邊框圓角半徑,如(2,2)"/>
<Attribute name="bkimage" default="" type="STRING" comment="背景圖片,如(bk.bmp或file='aaa.jpg' res='' restype='0' dest='0,0,0,0' source='0,0,0,0' corner='0,0,0,0' mask='#FF0000' fade='255' hole='false' xtiled='false' ytiled='false')"/>
<Attribute name="width" default="0" type="INT" comment="控制項預設的寬度,如(100)"/>
<Attribute name="height" default="0" type="INT" comment="控制項預設的高度,如(30)"/>
<Attribute name="minwidth" default="0" type="INT" comment="控制項的最小寬度,如(100)"/>
<Attribute name="minheight" default="0" type="INT" comment="控制項的最小高度,如(30)"/>
<Attribute name="maxwidth" default="9999" type="INT" comment="控制項的最大寬度,如(100)"/>
<Attribute name="maxheight" default="9999" type="INT" comment="控制項的最大高度,如(30)"/>
<Attribute name="text" default="" type="STRING" comment="顯示文本,如(測試文本)"/>
<Attribute name="tooltip" default="" type="STRING" comment="滑鼠懸浮提示,如(請在這里輸入你的密碼)"/>
<Attribute name="userdata" default="" type="STRING" comment="自定義標識"/>
<Attribute name="enabled" default="true" type="BOOL" comment="是否可以響應用戶操作,如(true)"/>
3. DUILIB庫怎麼實現背景透明,文字和圖標不透明
這是常規背景加文字的寫法:背景黑色透明0.7, 裡面有一個黑色的div和文字 AAAAAAAA 由於css里父節點透明度會傳遞到子節點上,所以normalBox也透明了.看不到normalBox的黑色背景了, 如果要實現背景透明,文字不透明的話,需要使用定位,將背景和文字全...
4. Duilib程序對話框在XP系統下背景圖片無法載入是怎麼回事,資源用zip壓縮文件載入的
res文件夾和你的程序目錄文件夾是同級的嗎?
5. ilib 怎樣把背景圖怎麼覆蓋
系統文件缺失~~用搜索引擎收搜索「ilib.dll」下載到桌面或則任意你找的到的位置!然後剪切至:我的電腦---C盤---WINDOWS(文件夾點進去)----找到「system32」文件夾點擊進去---最後把剪切復制的ilib.dll文件粘貼在這個文件夾里!!!搞定。。寫的這么詳細,應該可以幫到你了吧,親~~~
6. 目前有哪些方便集成的截圖控制項
可以使用牛牛截圖控制項,完全免費使用。
牛牛截圖控制項是一個具備當前主流截圖功能的插件,方便集成進不同的應用系統中,節省開發時間。具體可見:http://blog.csdn.net/tragicguy/article/details/20741077
1.本控制項實現的基本功能及特點如下
1).支持窗口區域的自動識別
2).支持矩形、圓形、箭頭、文字的繪制以及撤銷
3).可另存為png、jpg、bmp等格式
4).支持滑鼠所在區域的圖像放大功能,以便精準定位
5).窗口大小、滑鼠坐標顯示以及游標處的顏色拾取
6).採用C++語言開發的Win32動態庫,大小為260KB
7).支持XP、WIN7、WIN8及WIN2003、WIN2008等操作系統;
8).此控制項提供標準的介面,方便集成進其他軟體中;
例如可以與瀏覽器控制項整合,實現Web頁面截圖的功能,也可以與其他如即時通訊等其他任何系統中
先看看使用效果:
2.控制項使用方法
1).在測試程序中點擊啟動截圖[在集成此控制項後,可以自行通過熱鍵進行啟動],按下滑鼠左鍵並拖動,以確定需要截圖的范圍,也可以直接在自動識別到的窗口上點擊一下滑鼠左鍵,確定截圖范圍;此時可以通過放大的區域來精確定位截圖區域。
2).確定截圖范圍後,工具欄將會顯示出來,選中指定的繪制類型[繪制類型、大小、顏色],可以進行二次繪制塗鴉。
3).可以通過點擊撤銷按鈕來取消上一筆所繪制的形狀。
4).在截圖的過程中,可以按ESC鍵或者點擊滑鼠右鍵來取消截圖。
5).按下回車鍵或者在截圖區域內雙擊滑鼠左鍵,可以完成截圖[也可以點擊工具欄上的「完成」按鈕]。
6).點擊「保存」按鈕,可以將所截區域保存至圖片文件。
3.控制項介面的使用方法
可以在程序中使用LoadLibrary的方式載入此控制項,進行初始化後,直接調用啟動截圖的函數即可:
[cpp]view plain
typedefint(*FnStartScreenCapture)(constchar*szAuth,constchar*szDefaultSavePath,void*pCallBack,unsignedlonghWndNotice,unsignedintnoticeMsg);
FnStartScreenCapturem_StartScreenCapture=NULL;
typedefint(*FnInitScreenCapture)(unsignedlongtrackerColor,unsignedlongeditBorderColor,intnTransparent,intflag);
FnInitScreenCapturem_InitCapture=NULL;
//載入截圖控制項
m_hMole=LoadLibrary("NiuniuCapture.dll");
m_StartScreenCapture=(FnStartScreenCapture)GetProcAddress(m_hMole,"StartScreenCapture");
m_InitCapture=(FnInitScreenCapture)GetProcAddress(m_hMole,"InitScreenCapture");
m_InitCapture(RGB(255,0,0),RGB(0,174,255),180,0);
m_StartScreenCapture("niuniu","",NULL,(unsignedlong)m_hWnd,WM_USER+1111);
具體可以參考調用Capturedemo_source.rar [下載地址見本文末尾],介面的具體描述如下:
1).初始化介面
intInitScreenCapture(unsignedlongtrackerColor,unsignedlongeditBorderColor,intnTransparent,intflag);
此介面函數用於初始化界面的顯示效果,如果不調用,則以默認值處理。
參數說明:
參數名
參數類型
參數說明
備注
trackerColor
COLORREF
用於設置橡皮筋框的顏色以及自動識別窗口的邊框色
如果不調用此函數,則此框顏色默認為:
RGB(0,174,255);
editBorderColor
COLORREF
用於設置文本輸入框的邊框顏色
如果不調用此函數,則此框顏色默認為:
RGB(255,0,0);
nTransparent
int
用於指定工具欄窗口的透明度(0-255)
如果不調用此函數,則透明度默認為200
flag
int
暫未使用
2).啟動截圖介面:
intStartScreenCapture(constchar*szAuth,constchar*szDefaultSavePath,void*pCallBack,unsignedlonghWndNotice,unsignedintnoticeMsg);
參數說明:
參數名
參數類型
參數說明
備注
szAuth
字元串
用於調用控制項時的授權
目前固定傳入」niuniu」即可
szDefaultSavePath
字元串
用於指定在截圖完成時自動保存的文件路徑
如:c:\test.jpg,如果此字元串為空,則完成時將只寫入剪貼板
pCallBack
Void*
用於指定在截圖完成時自動回調的函數
用於通知調用程序截圖完成
hWndNotice
UINT
用於指定截圖完成時發送通知的窗口句柄及發送的消息
用於通知調用程序截圖完成,截圖完成時,控制項將會發送消息:
::PostMessage(hWndNotice,noticeMsg,1,1);
noticeMsg
UINT
4.控制項的主要技術點簡介
本控制項採用C++語言,通過Win32程序進行實現,內部使用了Duilib來做工具欄以及圖片放大區域的顯示;對於畫圖部分,主要採用了GDI+,以下對我個人認為需要注意的技術點進行簡要描述:
4.1橡皮筋類的繪制、大小調整以及拖動等
此橡皮筋類是從MFC的源代碼中提取的CRectTracker,進而移植到Win32環境中的,具體橡皮筋類的原理就不描述了,需要重點關注的是TrackRubberBand及Track兩函數:
1)當滑鼠按下,且橡皮筋沒有顯示的情況下,使用TrackRubberBand,以確定橡皮筋所包含區域
[cpp]view plain
if(!gl_rectTracker.TrackRubberBand(hWnd,pt,TRUE))
{//說明滑鼠沒有移動,則獲取自動識別到的窗口
if(gl_borderRt.right!=0&&gl_borderRt.right>gl_borderRt.left)
{
gl_rectTracker.m_rect.SetRect(gl_borderRt.left,gl_borderRt.top,gl_borderRt.right,gl_borderRt.bottom);
}
}
2)當橡皮筋類已經顯示,則需要判斷此時滑鼠的落點,如果在橡皮筋區域內[gl_rectTracker.HitTest(pt)的返回值大於0],則需要調用Track,以便拖動橡皮筋調整大小或者移動它。
4.2自動窗口區域識別
在Windows系統中,所有的窗口都是有一個層級的(ZORDER),此處採用的方法是在獲取屏幕截圖之前,保存下當前所有可見的窗口句柄以及其子窗口句柄[主要利用FindWindowEx],此處值得一提的是,需要過濾掉一些帶WS_EX_LAYERED屬性的窗口[在不過濾的情況下,WIN8下會有問題,存在透明的窗口處於當前窗口之上],同時針對任務欄窗口不能過濾掉。
4.3GDI+繪制矩形、圓形、箭頭、文字
1).繪制箭頭的代碼類似如下:
[cpp]view plain
voidDrawArraw(Graphics&graphics,CPointpt1,CPointpt2,Colorcolor)
{
Pointpt[3]={Point(3,-5),Point(-3,-5),Point(0,0)};
GraphicsPathstrokePath;
strokePath.AddLines(pt,sizeof(pt)/sizeof(Point));
Penpen(color,1);
CustomLineCapcustCap(&strokePath,NULL);
pen.SetCustomEndCap(&custCap);
graphics.DrawLine(&pen,pt1.x,pt1.y,pt2.x,pt2.y);
}
此處需要通過對所畫的直線進行平滑處理,否則線條將會很難看。
2).繪制文字
此處有兩點需要注意,我只解決了其中的第一點:
a).針對每一行需要單獨繪制,否則在EDIT控制項中的行高要比DrawString的行高要少,導致繪制出來的文字佔用高度比在EDIT中要多,感覺文字的Y坐標有移位
b).在同時有中文與英文時,繪制出來的文字的X坐標是有移位的,我暫時沒有處理,估計需要一個字元一個字元的繪制來解決
4.4可變大小、可拖動的EDIT控制項
此處在效果上參考了微軟的mspaint程序的實現,通過將一個EDIT控制項與橡皮筋類進行組合來實現,此處需要重點處理一下滑鼠按下以及防止閃爍;還需要注意與EDIT控制項組合的橡皮筋類的繪制細節
4.5滑鼠所在區域的放大鏡效果顯示
通過一個透明的PNG做背景圖StretchBlt函數,通過游標所在點為基點,以4倍大小放大顯示即可
5.未解決的問題
5.1目前沒有處理當輸入文字或者粘貼文字時,自動改變文本框的大小,此處不太清楚如何處理控制項的自動變更大小
5.2當文本框中有中文與英文混合時,繪制到截圖上後,文字的X坐標會有移位
註:
控制項包及調用說明、代碼見:
牛牛截圖控制項最終版:http://download.csdn.net/detail/tragicguy/7007833
7. 丟失ilib_d.dll
長話短說: 因為一般游戲啟動時會提示丟失的那些dll嚴格來講都不算是系統文件,微軟原版系統剛安裝完的時候本來就不存在那些dll,其實不是「丟失」,就是原本就沒有,需要自己另外安裝的。 舉個栗子,比如很多老游戲需要dx9運行庫,二win8.1系統本身只自帶dx11,沒有老舊的9.0版,就會出現提示丟失d3dx9之類的dll msvcp、msvcr、vcomp140.dll屬於VC++2015版 msvcp、msvcr、vcomp120.dll屬於VC++2013版 msvcp、msvcr、vcomp110.dll屬於VC++2012版 msvcp、msvcr、vcomp100.dll屬於VC++2010版 msvcp、msvcr、vcomp90.dll屬於VC++2008版 msvcp、msvcr60、71和80.dll,以及vcomp.dll(不帶數字版本號)屬於VC++2005版 除了丟失、缺少這類錯誤之外,如果一個程序打開之後提示「並行配置錯誤」,那麼也是因為沒有安裝VC++運行庫。 缺少PhysXLoader.dll是NVIDIAPhysX物理加速引擎的問題 提示沒有找到xlive.dll是缺少GamesForWindowsLive 缺失openal32.dll是缺少OpenALInstallerforWindows的原因 此文件本質上是dll運行庫的一部分,丟失、缺失此類文件都是dll運行庫的問題,而不是游戲本身的問題。所以重新下游戲肯定是沒有用的。 並且,有些人建議的重裝系統大法也是沒用的(指原版系統,換系統除外)。 因為這些所謂的dll丟失,絕大部分都並不是真的「丟失」,而是原版系統本身確實就沒有自帶。 建議使用dll修復工具,解壓之後打開主程序點擊「修復」按鈕,稍等即可解決。 關於附件:dll運行庫修復工具是很容易搜到下載的,也可以直接下載我附件(上傳附件僅僅是為了下載方便,也可以直接搜索下載),附件免費下載,不要積分。7z、rar、zip文件要用解壓縮軟體打開,x86版就是32位版,請不要再問出「為什麼只有86位版」之類搞笑的問題。 很多人喜歡傳播「下載dll放到system32或syswow64」這種解決辦法,倒也不是完全不可行,有時候還是可以的,要看運氣。對小白來講還是麻煩了點,而且不像修復工具一樣能一次性搞定大部分dll運行庫的相關問題。 密碼:m929
8. ilib如何載入ocx控制項
用C語言
在微軟的大力支持顯示Flash動畫+ + Builder中的ActiveX控制項,越來越多的軟體公司開始支持ActiveX,這對於喜
歡編程的朋友可是一件是高興!因為我們可以很容易地調用OCX文件外
參加一個程序來實現復雜的功能(比爾·蓋茨終於回一件好事),如IE瀏覽器在你的程序
來電顯示HTML文件。今天我想向大家介紹如何使用ActiveX控制項在C中顯示Flash動畫+
生成器英寸。
1的安裝,導入本文的ActiveX控制項
主角是:SWFLASH.OCX,這個文件是包含在Windows98中,在默認模式下
Windows將安裝到「WINDOWS \ SYSTEM \ 「目錄下,如果當您安裝安裝」默認安裝Macromed \閃光「可以到Win98的安裝光碟win98_68.cab文件中找到
它。
c + + builder中對ActiveX的支持,可以說是做的非常好,我們就可以導入側
ActiveX控制項系統:選擇「組件 - >導入ActiveX控制項
」在上面列表中,選擇控制「的Shockwave Flash(1.0版)安裝」按鈕「(如圖1),然後在下面
點」就行了!如果控制是不是在這,那沖擊波
Flash控制項沒有在系統中注冊列表,不要緊,我們可以單擊「添加」按鈕找到OCX文件,您的計算機上的總然後安裝,C + + Builder中會自動注冊。
2。編程顯示Flash動畫
成功導入,C + + Builder中的ActiveX網頁將在「ShockWaveFlash」
控制項(圖2),建立一個新的項目,放在合適的位置增加ShockWaveFlash控制,
適當調整它的大小,那麼它的「電影」屬性來填補現有
Flash動畫文件名的硬碟驅動器(如c:\ FLASH \測試SWF),然後按F9運行,怎麼樣,而無需編寫一行代碼
我們做了一個程序,可以顯示Flash動畫!
但是,為了使其更好地工作,我們還需要看看情況和方法ShockWaveFlash
控制項:
[屬性] AlignMode(int型)和SALIGN(WideString的類型)控制動畫顯示位置
(這兩個屬性都列在一起,表明它們是相互關聯的,改變彼此也會有相應的變化
改變,這種情況是為後面解釋類似)。范圍和含義如下:
0空當前位置
1升的當前位置到左邊
2 R當前位置右<br中心
4噸/> 3 LR當前位置靠左上方 5 LT
6 TR上
7 LTR的正上方
8 B
9 LB左下的當前位置為中心右
10包在
11 LRB中心
下12 TB當前位置垂直居中
13 LTB左垂直居中
14 TRB右垂直居中
15 LTRB中央位置
[屬性] BACKGROUNDCOLOR(int型)和BGCOLOR(WideString的類型)設置背景顏色
,BACKGROUNDCOLOR整數值,BGCOLOR其十六進制字元串。
[屬性]環路(布爾型)是否循環
[屬性]菜單(bool類型)是否顯示上下文菜單,建議設置為true,因為它可以在對Flash動畫完成 BR />大部分的控制工作,我們不必編寫代碼。
[屬性]電影(WideString的類型),Flash動畫文件名可以在動態
運行狀態進行設置,只要設置為空,關閉動畫。
[屬性]質量(int型)和QUALITY2(WideString的型)控制動畫的顯示質量
,一般質量設置為1,以獲得高品質的顯示。
[屬性]的ScaleMode(int型)和規模(WideString的型)控制動畫的比例,
范圍和含義如下:
0 SHOWALL顯示全部
1 NoBorder無邊框模式
2 ExactFit拉伸到原始尺寸
3空
[方法] PercentLoaded回報率的動畫已載入整個屏幕,你可以創建一個進程
欄(進度條)要顯示載入動畫的過程。
[方法]使用loadMovie動畫,名為BSTR類型在C + + Builder中的URL值可以用來AnsiToOLESTR函數char類型的字元串轉換
一個BSTR類型。
好了,使用上面介紹的屬性和方法,我相信你有好好利用它!不幸的是
ShockWaveFlash控制功能還不夠完善,如動畫無法
實際大小和背景顏色等回來了,但只要我們在程序中出現的一個特定的Flash動畫,這些和
不重要。
3。注冊的ActiveX控制項
如果你希望你的程序給別人使用,或者沒有安裝,以防止他注冊swflash。
ocx文件,並導致程序無法運行,你必須把OCX還對文件一起,並在這個過程中它
在系統中注冊,有兩種注冊方法:
之一:調用外部程序Regsvr32.exe會
報名方式:的ShellExecute(手柄,NULL,「Regsvr32.exe的」,「SWFLASH.OCX」,
NULL,SW_SHOWNORMAL);
抗注冊:的ShellExecute(手柄,NULL,「Regsvr32.exe的」,「/ U swflash
.> OCX」,NULL,SW_SHOWNORMAL);
方法二:呼叫控制本身包含注冊和反注冊功能
每一個OCX控制項提供兩個輸出功能「中的DllRegisterServer」和「
的DllUnregisterServer」,您可以注冊和注銷該控制項本身,我們可以使用
調用LoadLibrary()和GetProcAddress()來調用它們,它調用的DLL庫和動態的方法是一個
一樣,我沒有太多可說的。
4。經驗最後,我想向大家介紹利用ActiveX控制項技術。
一般的ActiveX控制項是在C + + Builder的IDE環境我只能夠看到它的屬性和事件的設計,所以我們怎麼能知道它的性能和運行方式做
? C + + Builder生成相應
頭文件(* H)導入ActiveX控制項「進口」目錄後,只要它是打開看一眼!
另外,我們還必須了解的各種屬性,方法和參數的含義,它應該通過編程來試試
,每個屬性創建菜單項和方法,要知道,當點擊與輸入框輸入參數來嘗試
測試結果,你也可以創建一個狀態欄,顯示與變數相關聯的價值觀。
寫了這么多,我不知道你明白了嗎?不要在你的程序加上當今最流行
Flash動畫不著急,讓你的朋友羨慕你!
9. ilib背景圖加文字用哪個控制項好
很簡單:點按文本框按鈕後,在圖片上需呀加字的地方按住滑鼠左鍵拉動到合適位置後放開滑鼠鍵,看到游標後添加文字內容,添加好了,稍稍移動滑鼠,當游標變成十字移動游標時點擊一下,此時這個文本框被選取,這時再選擇形狀填充---其他填充顏色,選適合的顏色,可在最下方調整透明度,調整好「確定」即可!、
10. ilib 怎麼實現文字滑動
一般可以直接使用 菜單中的 文件==》另存為==》文本 來解決。
如果本來內容就是圖片類的,就無法直接復制了,只能嘗試使用OCR來解決。