Time of Update: 2018-12-03
IE網頁是IE編程中的經典問題。 IE9 beta發布之後我收到很多關於這方面的問題。 最近我把IE和Windows中這部分相關的代碼重新架構了一下,使它們能夠在IE9開啟硬體加速的情況下完美相容原來GDI函數。 趁著記憶還fresh, 寫一個總結以供大家參考。 主要有以下3個介面可以實現IE網頁。 1) HRESULT IHTMLElementRender::DrawToDC(HDC hDC) MSDN參考:
Time of Update: 2018-12-03
繼去年9月份IE9 Beta版發布之後,IE9 beta下載次數已經超過2300萬,充分說明IE9受關注和期待的程度。 今天IE團隊很高興發布了IE9 RC版,歡迎大家下載試用。 距離IE9正式版發布的日子已經不遠了... IE9 RC版版本號碼: 9.0.8080.16413 IE9 RC for Windows7 32位 下載:http://download.microsoft.com/download/D/E/E/DEE0397B-C938-4C56-81E7-77B60915171D/
Time of Update: 2018-12-03
"螢幕取詞"是詞典軟體(如:金山詞霸)裡面一個必要功能。 在IE9中,由於使用Direct2D介面取代GDI做頁面渲染,原來基於GDI介面的螢幕取詞技術將無法繼續正常工作。 因此,如果你的軟體用到了螢幕取詞相關技術,需要針對IE9做調整。 建議的解決方案:使用 UI Automation API。微軟有一個開源工具 UIA Verify 是基於UI Automation API的,該程式也有一個取詞功能(菜單 Mode -> Hover Mode),可以參考看看它的實現方法。 UIA
Time of Update: 2018-12-03
IE9今天正式發布!這是IE曆史上最重要的發布之一,因為IE不但革命性地將GPU硬體加入瀏覽器,使網頁渲染速度有了一個質的飛躍;而且在瀏覽速度、支援標準、簡化介面等幾個使用者重點關注的領域打了一個漂亮翻身戰,從最後一名變成了數一數二。IE團隊很自豪的對業界宣布, We are back in the browser game! 正式版的版本號碼為:9.0.8112.16421IE9中文版官方: IE9正式版 for Windows7
Time of Update: 2018-12-03
IE9 會自動檢測你機器上GPU。 如果GPU存在,IE9會自動開啟GPU硬體加速。所以你不用做任何設定。 如何判斷IE9已經開啟GPU硬體加速:開啟"Internet 選項", 在“進階”標籤頁裡面,可以看到 "加速的圖形: 使用軟體呈現而不用使用GPU呈現"。 如果這個選項不打鉤,說明GPU硬體加速開啟。 否則,GPU加速被關閉。 中文版選項:這個選項如果是灰色(無法修改狀態),說明你機器上沒有GPU ,顯卡太老了,趕快升級你的顯卡吧 英文版選項:
Time of Update: 2018-12-03
一直以來,Javascript 鬆散靈活的文法飽受爭議。 於是,ECMAScript 5.0 定義中引入了strict mode,使Javascript解譯器可以用"嚴格"的文法來解析代碼,以協助開發人員發現錯誤。IE 10 開始支援strict mode。開啟strict mode很簡單,在代碼的開頭加入"use strict";這樣很巧妙地相容了那些不支援strict mode老的瀏覽器,不會報錯。使用 strict mode 有以下幾個好處:防止意外定義的全域變數"use strict";
Time of Update: 2018-12-03
by SinbadDec 14, 2001http://sinbad.dhs.org簡介 -=-=-=-=--=ACKcmd是提供Win2000下遠程命令Shell的一種後門,它使用TCP來傳輸,但是不同於一般正常的TCP串連有三向交握,ACKcmd僅使用了TCP ACK資料包,所以一般情況下可以穿越防火牆及躲避IDS的檢測。ACKcmd採用client/server結構,在目標機器上運行AckCmdS.exe植入後門,入侵者在用戶端運行命令AckCmdC <target
Time of Update: 2018-12-03
#include <afxdtctl.h>#include <Windows.h>#include <WinINet.h>#include <stdio.h>BOOL UseHttpSendReqEx(HINTERNET hRequest, DWORD dwPostSize,CString strLocalFile);BOOL Upload(CString bstrLocalFile,CString bstrServerIP,CString str
Time of Update: 2018-12-03
要是為了實現像木馬那樣的產生自己需要配置的EXE檔案。首先要自己寫一個EXE,然後以資源的方式匯入到工程中。下邊的例子是一個修改MessageBox標題和文字的程式. HRSRC hResInfo; HGLOBAL hResData; DWORD dwSize, dwWritten; LPBYTE pBuffer; HANDLE hFile; TCHAR szMsgBoxTitle[100],szMsgBoxText[100]; szMsgBoxTitl
Time of Update: 2018-12-03
製作資源dll當製作多語言版本的軟體的時候,製作不同語言的資源dll,通過切換dll而實現不同的語言版本是非常有意義的。通常,dll從DllMain()函數開始。製作資源dll的時候,可以沒有DllMain()函數。 1.選擇Win32 Dynameic~Link Library 2.製作一個空的工程,插入資源。3.設定工程link選項,設定dll沒有入口函數,OK!4.使用方法: #include "../resdll/resource.h" void
Time of Update: 2018-12-03
//註冊並啟動/終止服務BOOL RegisterServer(LPCTSTR lpServiceName,LPCTSTR lpDisplayName,LPCTSTR lpBinaryPathName){ SC_HANDLE hSCManager = OpenSCManager(0,0,SC_MANAGER_CREATE_SERVICE); if(hSCManager == NULL) { return FALSE; } if(CreateServic
Time of Update: 2018-12-03
IE9引入了Pinned Sites 新概念。Pinned Sites允許使用者把網站像Windows應用程式一樣“釘”在Windows 7 工作列上。使用者可以直接點擊工作列上的表徵圖開啟網站,可以通過Jump list直接存取網站的各個功能,甚至可以直接在工作列表徵圖上浮動縮圖完成一些任務(比如播放、停止網站上的視頻)。 可以看出,IE9在努力縮小網站和Windows應用程式之間的差異, 讓網站成為Windows案頭的主角。 顯示了我的win7工作列的幾個pinned sites: cnn.
Time of Update: 2018-12-03
GDB的命令概貌———————啟動gdb後,就你被帶入gdb的調試環境中,就可以使用gdb的命令開始偵錯工具了,gdb的命令可以使用help命令來查看,如下所示: /home/hchen> gdb GNU gdb 5.1.1 Copyright 2002 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you
Time of Update: 2018-12-03
如果你的IE9 beta經常崩潰,很有可能是因為ActiveX外掛程式和IE9不相容造成的。請禁用一些外掛程式再試試。 目前已知不相容的ActiveX外掛程式有: 迅雷 , VeryCD電驢 (easyMule)。 當你試圖用迅雷或者用verycd電驢下載檔案的時候,都可能會引起IE9 beta崩潰。另外,迅雷的網頁圖片瀏覽器會使你用IE9正常瀏覽器網頁的時候崩潰。 如果你看到有其他崩潰現象或者不相容情況出現,歡迎在本博文底下留言(請說明如何重現問題) 。 禁用外掛程式步驟
Time of Update: 2018-12-03
查看運行時資料——————— 在你偵錯工具時,當程式被停住時,你可以使用print命令(簡寫命令為p),或是同義命令inspect來查看當前程式的運行資料。print命令的格式是: print <expr> print /<f> <expr>
Time of Update: 2018-12-03
因為IE9直接使用硬體圖形介面D2D/DWrite進行網頁渲染,所以使用基於GDI的函數訪問IE9的時候會出現問題。 目前國內的瀏覽器(如:傲遊,搜狗)都是使用GDI函數來實現網頁的, 當IE核心升級到9之後, 結果將會是全黑。 在網上隨便搜尋了一下,發現傲遊瀏覽器和搜狗瀏覽器論壇已經有人反應這個問題: 升級WIN7 IE8到IE9,發現有問題了!——頁面居然為黑屏!http://bbs.maxthon.cn/viewthread.php?tid=322230 [問題反饋]
Time of Update: 2018-12-03
查看棧資訊—————當程式被停住了,你需要做的第一件事就是查看程式是在哪裡停住的。當你的程式調用了一個函數,函數的地址,函數參數,函數內的局部變數都會被壓入“棧”(Stack)中。你可以用GDB命令來查看當前的棧中的資訊。下面是一些查看函數調用棧資訊的GDB命令: backtrace bt 列印當前的函數調用棧的所有資訊。如: (gdb) bt #0 func (n=250) at tst.c:6 #1
Time of Update: 2018-12-03
改變程式的執行——————— 一旦使用GDB掛上被偵錯工具,當程式運行起來後,你可以根據自己的調試思路來動態地在GDB中更改當前被偵錯工具的運行線路或是其變數的值,這個強大的功能能夠讓你更好的調試你的程式,比如,你可以在程式的一次運行中走遍程式的所有分支。 一、修改變數值 修改被偵錯工具運行時的變數值,在GDB中很容易實現,使用GDB的print命令即可完成。如: (gdb) print x=4
Time of Update: 2018-12-03
i++、++i、i=i+1、效率怎麼樣?看過一本書上說,i++比i=i+1好的地方是因為i=i+1中的那個1要佔用一個寄存器,所以速度沒有i++快,於是我想驗證一下。另外,以前聽說過Java中的“i=i++”得不到正確結論,也就是應該是“先累加再賦值”,但Java經過這種運算後,i值居然沒有變化。所以在這裡,想一併把這幾個問題在C中驗證一下。=====================測試的C來源程式==================== #01: #include
Time of Update: 2018-12-03
刪除:void COperationDlg::OnDel2(CString m_strFileDictory) //參數就是目錄的路徑{ if(m_strFileDictory.GetLength()==0) { ::AfxMessageBox ("目錄名非法!",MB_OK|MB_ICONEXCLAMATION); return; } char FromFileName[80]="/0"; strcpy(FromFileName,m_s