Time of Update: 2018-12-04
下載原始碼一、前言 終於寫到了第九回,我也一直期盼著寫這回的內容耶,為啥呢?因為自動化(automation)是非常常用、非常有用、非常精彩的一個 COM功能。由於 WORD、EXCEL 等 OFFICE 軟體提供了“宏”的功能,就連我們使用的VC開發環境也提供了“宏”功能,更由於HTML、ASP、JSP 等都要依靠指令碼(Script)的支援,更體現出了自動化介面的重要性。 如果你使用 vc6.0 的開發環境,請繼續閱讀。 如果你使用 vc.net
Time of Update: 2018-12-04
下載原始碼一、前言 從第五回開始到第七回,咱們用 ATL 寫了一個簡單的 COM 組件,之所以說簡單,是因為在組件中,只實現了一個自訂(custom)的介面IFun。當然如果想偷懶的話,我們可以把 200 個函數都加到這一個介面中,果真如此的話,恐怕就沒有人喜歡使用我們這個組件了。一個組件既然可以提供多個介面,那麼我們在設計的時候,就應該按照函數的功能進行分類,把不同功能分類的函數用多個介面表現出來。這樣可以有如下的一些好處:
Time of Update: 2018-12-04
Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 /* Style Definitions */
Time of Update: 2018-12-04
1.出了什麼問題? 單元測試的目標是一次只驗證一個方法,小步的前進,細粒度的測試,但是假如某個方法依賴於其他一些難以操控的東東,比如說網路連接,資料庫連接,或者是Servlet容器,那麼我們該怎麼辦呢?
Time of Update: 2018-12-04
一直想給現在的項目做C++的單元測試,而且也想看看一個單元測試架構的實現。無意中發現了CppUnitLite,CppUnit的輕量級, 確實簡單易用。一. 下載及目錄結構:(http://download.csdn.net/source/304011), 下載後目錄結構如下:/om /CppUnitLite /Failure.cpp /Failure.h /SimpleString.cpp /SimpleString.h ...
Time of Update: 2018-12-04
Q: 在 MSDN的那個 demo 中,將裝置名稱換成“A:”取 A 盤參數,先用資源管理員讀一下盤,再運行這個程式可以成功,但換一張盤後就失敗;換成“CDROM0”取CDROM參數,無論如何都不行。這個問題如何解決呢? A:取磁碟片參數是從磁碟片上讀取格式化後的資訊,也就是必須執行讀操作,這一點與硬碟不同。將CreateFile中的訪問方式改為GENERIC_READ 就行了。 IOCTL_DISK_GET_DRIVE_GEOMETRY這個
Time of Update: 2018-12-04
處理序間通訊的四種方式剪貼簿匿名管道具名管道郵槽Win32平台下,記憶體塊在實體記憶體中從來不會被移動,但可以在預設的堆中被移動剪貼簿將資料存入剪貼簿:void CClipboardDlg::OnBnClickedBtnSend(){ // TODO: 在此添加控制項通知處理常式代碼 if(OpenClipboard()) { CString str; char * pBuf; HANDLE
Time of Update: 2018-12-04
Q: DOS命令 DISKCOPY給我很深的印象,現在也有許多“複製”軟體,可以對磁碟進行全盤複製。我想,要製作磁碟鏡像檔案,DeviceIoControl 應該很有用武之地吧?A: 是的。這裡舉一個製作磁碟片鏡像檔案,功能類似於“DISKCOPY”的例子。 本例實現其功能的核心代碼如下: // 開啟磁碟HANDLE OpenDisk(LPCTSTR filename){ HANDLE hDisk; // 開啟裝置 hDisk = ::CreateFile(filename,
Time of Update: 2018-12-04
下載原始碼一、前言 終於寫到了第十回,我也一直期盼著寫這回的內容耶,為啥呢?因為自動化(automation)是非常常用、非常有用、非常精彩的一個 COM功能。由於 WORD、EXCEL 等 OFFICE 軟體提供了“宏”的功能,就連我們使用的VC開發環境也提供了“宏”功能,更由於HTML、ASP、JSP 等都要依靠指令碼(Script)的支援,更體現出了自動化介面的重要性。 如果你使用 vc6.0 的開發環境,請閱讀前一回。 如果你使用 vc.net 2003,請繼續....
Time of Update: 2018-12-04
用C++編寫XPCOM組件還是先開看看官網給的例子,下載樣本程式 xpcom-test配置方法見文章
Time of Update: 2018-12-04
木馬常用攻擊手段-修改系統檔案 在Win.ini檔案中載入 木馬程式為了達到在系統啟動時自動啟動並執行效果,一般需在第一次運行時修改目標系統配置,修改win.ini檔案就是其中的一招。在Windows 9x作業系統下,Win.ini檔案中的[windwos]段中有如下附加元件: load=
Time of Update: 2018-12-04
【openssl資源】 官方網站:http://www.openssl.org 中文網站推薦:http://gdwzh.126.com 目前的版本: openssl-0.9.7 【Cryptlib】 下載網站:http://www.eskimo.com/~weidai/cryptlib.html 目前的版本:Version 5.0
Time of Update: 2018-12-04
vc資源中載入png圖片 This code is a gdi+ Image *pImg = NULL; HGLOBAL hGlobal = NULL; HRSRC hSource = NULL; LPVOID lpVoid = NULL; int nSize = 0; hSource = FindResource(AfxGetResourceHandle(),
Time of Update: 2018-12-04
容器和伺服器程式容器應用程式時可以嵌入或連結化物件的應用程式。Word就是容器應用程式。伺服器應用程式是建立對象並且當對象被雙擊時,可以被啟動的應用程式。Excel就是伺服器應用程式。ActiveX控制項不能獨立運行,它必須被嵌入容器應用程式中,和容器應用程式一起運行。Dispatch maps調度映射,主要是MFC提供讓外部應用程式可以訪問控制項的屬性和方法Event
Time of Update: 2018-12-04
動態連結程式庫WindowsAPI中的所有函數都包含在DLL中。其中有三個最重要的DLL,Kernel32.dll,它包含用於管理記憶體、進程和線程的各個函數;User32.dll,它包含用於執行使用者介面任務(如視窗的建立和訊息的傳送)的各個函數;GDI32.dll,它包含用於畫圖和顯示文本的各個函數。靜態庫和動態庫靜態庫:函數和資料被編譯進一個二進位檔案(通常副檔名為.LIB)。在使用靜態庫的情況下,在編譯連結可執行檔時,連結器從庫中複製這些函數和資料並把它們和應用程式的其他模組組合起來建立
Time of Update: 2018-12-04
開發網 Ogre是開源的封裝了DirectX和OpenGL的3D引擎下載 官方首頁為http://www.ogre3d.org/ 下面是國內的下載串連 至少需要下載的檔案 http://gd.91.com/temp/files/ogre/ogre.rar http://www.mscto.com http://gd.91.com/temp/files/ogre/dependencies/OgreWin32Dependencies-0.13.0.zip
Time of Update: 2018-12-04
通過安裝Hook過程,屏蔽訊息佇列中某些訊息The SetWindowsHookEx function installs anapplication-defined hook procedure into a hook chain. You would installa hook procedure to monitor the system for certain types of events.These events are associated either with a
Time of Update: 2018-12-04
OnNcHitTest CWnd::OnNcHitTest afx_msg UINT OnNcHitTest( CPoint point ); 傳回值:下面列出的滑鼠擊中測試枚舉值之一。 · HTBORDER 在不具有可變大小邊框的視窗的邊框上。 · HTBOTTOM 在視窗的水平邊框的底部。 · HTBOTTOMLEFT 在視窗邊框的左下角。 · HTBOTTOMRIGHT 在視窗邊框的右下角。 · HTCAPTION 在標題條中。 · HTCLIENT
Time of Update: 2018-12-04
事件對象時間對象也屬於核心對象,包含一個使用計數,一個用於指明該事件是一個自動重設的事件還是一個人工重設的事件的布爾值,另一個用於指明該事件處於已通知狀態還是為通知狀態的布爾值有兩種不同類型的事件對象。一種是人工重設的事件,另一種是自動重設的事件,當人工重設的事件得到通知時,等待該事件的所有線程均變為可調度線程。當一個自動重設的事件得到通知時,等待該事件的線程中只有一個線程變為可調度線程。HANDLE CreateEvent( LPSECURITY_ATTRIBUTES
Time of Update: 2018-12-04
3. 利令智昏排除了反壟斷對 AT&T 衰落的原因,我們就得從其他地方找原因。一九九五年,AT&T 走到了一個分水嶺。從一九九四年起,美國經濟全面複蘇,從下面斯坦普 500 指數走向圖中可以看出,美國股市從 1995 年起開始暴漲,直到兩千年底。 這時,AT&T 裝置製造部門的執行官們短視地提出分家的建議。他們的理由似乎有道理,因為 AT&T 和另外兩家長途電話公司 MCI 和 Sprint 是競爭關係,後者拒絕購買 AT&T