探討虛函數(一)

虛函數是C++中非常重要的一個特性,要熟練的掌握好C++的幾大特性,虛函數的相關知識必不可少,下面就來分析一下虛函數表的結構, class CBase{public: virtual void f1(){cout<<"CBase::f1()"<<endl;}; virtual void f2(){cout<<"CBase::f2()"<<endl;}; virtual void f3(){cout<<"CBase::f3()"<&

thunk技術實現視窗類別的封裝

MFC功能已經非常強大,自己做介面庫也許沒什麼意思,但是這個過程中卻能學到很多東西。比如說:視窗類別的封裝,從全域視窗訊息處理到視窗對象訊息處理的映射方法:   

SetWindowLong函數介紹

函數功能         該函數改變指定視窗的屬性.函數也將指定的一個32位值設定在視窗的額外儲存空間的指定位移位置。函數原型         LONG SetWindowLong(HWND hWnd,intnlndex,LONG

CreateWindowEx 參數lpParam

The   CREATESTRUCT   structure   defines   the   initialization  parameters   passed   to   the   window   procedure   of   an  application.   These   members   are   identical   to   the   parameters   of   the   CreateWindowEx   function. Syntax

PostQuitMessage(WM_QUIT) 退不出程式

今天寫了一個SDK程式,關閉程式時調用PostQuitMessage(WM_QUIT) ,程式沒有結束,工作管理員顯示其佔了90%多的CPU,必須手動結束進程。下面是退出程式Code:LRESULT CALLBACK WindowProc (HWND hWnd,UINT message,WPARAM wParam,LPARAM lParam){    switch (message)     {        case WM_DESTROY:        PostQuitMessage(0);

CreateIoCompletionPort()詳解

HANDLE WINAPI CreateIoCompletionPort(  __in          HANDLEFileHandle,  __in          HANDLE ExistingCompletionPort, __in          ULONG_PTR CompletionKey,  __in         

MFC DLL 資源模組控制代碼切換

以前寫MFC的DLL的時候,總會在自動產生的程式碼架構裡看到提示,需要在每一個輸出的函數開始添加上AFX_MANAGE_STATE(AfxGetStaticModuleState())。一直不明白這樣做的含義,也一直沒有這樣做,而且代碼也工作得好好的,所以感覺這好像一句廢話。最近的項目中,需要在DLL裡使用MFC產生介面,這才發現一旦資源放在不同的動態庫裡,而且還和多線程攪和在一起的時候,事情就變得異常的複雜,以前對MFC的一知半解已經不足與應付了。程式莫名的崩潰,莫名的ASSERT,資源怎樣也

MFC與wxWidgets比較

文章目錄 MFC and wxWidgets macrosMFC and wxWidgets classes MFC and wxWidgets macrosMFC versionwxWidgets

VC 物理MAC地址的擷取方法

2010-03-25, 21:41:29#include "stdafx.h"#include <windows.h>//#include <iptypes.h>#include <iphlpapi.h>#include <NtDDNdis.h>#pragma comment ( lib, "iphlpapi.lib" ) BOOL WINAPI GetPhyMacAddress(char* strServiceName){BOOLbRet=

ATL 和 MFC 版本號碼

下表列出了 Visual C++ 附帶的 ATL 的各版本號碼。ATL 版本 Visual C++ 版本 1.0, 1.1, 2.0無。在 Visual C++ 4.x 時間範圍內發布到 Web。3.0Visual C++ 6.07.0Visual C++ .NET 20027.1Visual C++ .NET 20038.0Visual C++ 2005 下表列出了 Visual C++ 附帶的MFC 的各版本號碼。MFC

我的Firefox外掛程式開發之旅(8)——外掛程式的安裝與更新

外掛程式寫好了,下面就該做一個安裝包了。最好再提供更新功能,以便在外掛程式有更新的時候,及時通知使用者進行外掛程式更新。我們開發的時候,直接將產生的dll丟到Firefox安裝目錄下的plugins目錄就可以工作了,但是你如何說服讓使用者來手動完成這件事情?估計很難。因此,提供一個安裝包,可能是最好的選擇。使用者只需要點幾下滑鼠就可以完成外掛程式的安裝了。不過到寫這篇文章的時候,我還不清楚怎麼讓安裝包經過Mozilla的驗證,因為沒有經過驗證的外掛程式,在安裝的時候會出現“僅安裝信任作者的附加組

socket IO完成連接埠模型詳解

// TestIOCP.cpp : Defines the entry point for the console application.#include "stdafx.h"#include <WINSOCK2.h>#include <stdio.h>#define PORT 5150#define MSGSIZE 1024#pragma comment(lib, "ws2_32.lib")typedef enum{    RECV_POSTED}OPERATION_

我的Firefox外掛程式開發之旅(7)——為外掛程式添加和指令碼互動的能力

先說一句題外話,上一節一開始我提到了由於.rc導致我自己寫的外掛程式不能被FF識別的問題,今天終於找到答案了。在這篇文章中:https://developer.mozilla.org/en/Gecko_Plugin_API_Reference/Plug-in_Development_Overview, 有這麼一段話:In your development environment, make sure your language is setto "US English" and the

我的Firefox外掛程式開發之旅(6)——FF外掛程式的一些基礎知識

上篇文章學習了npruntime的例子程式,接下來迫不及待地想實現自己的一個外掛程式了。我決定使用VS

MFC與wxWidgets比較(2)

今天我們來比較 MFC 和 wxWidgets 的最核心的代碼,也就是MFC的訊息映射和wxWidgets的事件表。1.MFC 中的訊息映射宏    DECLARE_MESSAGE_MAP()    BEGIN_MESSAGE_MAP(theClass, baseClass)    END_MESSAGE_MAP()展開後代碼如下:#ifdef _AFXDLL#define DECLARE_MESSAGE_MAP() /private: /    static const AFX_MSGMAP_

我的Firefox外掛程式開發之旅(4)——XULRunner的一個例子

上一節寫了一個Extension,添加了一個按鈕在FF3的工具列上。接下來我準備在這個基礎上添加一個功能,點擊按鈕,讀取本地磁碟上一個檔案的內容,並顯示出來。怎麼做呢?用Javascript嗎?因為我最終的目標是從伺服器上下載文件,也可能會傳輸本地檔案到伺服器上,用Javascript訪問本地檔案有諸多限制,而且也無法完成複雜的功能。所以最好是能夠調用我編寫的DLL那就最好不過了。怎麼做呢?還是在Mozilla網站上找找看吧。在Mozilla網站上看到,可以自己編寫Component來完成一些自

Wincap開發環境搭建

文章目錄 哪些程式在使用WinPcap什麼是WinPcap做不到的如何搭建開發環境 WinPcap: WinPcap 中文技術文檔介紹本手冊提供了WinPcap編程介面的描述及其原始碼。它與詳盡的WinPcap核心資料一起,為編程人員提供了詳細的函數與結構的描述,同時也提供了若干教程和程式範例。  您可以點擊頁面頂部的導航連結,或者使用頁面左邊的樹形控制項,來跳轉到您感興趣的內容。 本文檔使用 the Doxygen

error LNK2019: unresolved externa l symbol __iob referenced in function _output_message@4

vs2003,vs2005,vs2008:0 將libjpeg_vc7裡的libjpeg.lib替換win32depends/lib下的vc6版本的libjpeg.lib1 將include和lib設定成VS200x的包含和庫目錄2 將win32depends/include和win32depends/lib設定成VS200x的包含和庫目錄3

我的Firefox外掛程式開發之旅(5)——編譯和測試第一個Plugin例子:npruntime

前幾天一直在忙乎著研究和閱讀XUL和FF的Extension相關資料,今天突然發現,我要做得事情似乎不是用Extension來實現的。因為原來的應用是一個ActiveX,網頁會將一些參數通過ActiveX控制項傳遞進來,而ActiveX接到這些參數以後,會和伺服器進行一些資料互動,最後調起本地的執行程式。似乎我走了一些彎路,方向不對。我要做得事情應該是編寫一個Plugin,而非Extension。及時修正了下一步的研究計劃,那麼就讓我們先來編譯和測試Mozilla提供的一個小例子吧。原文串連在這

實戰 DeviceIoControl 之五:列舉已安裝的存放裝置

Q:前幾次我們討論的都是裝置名稱比較清楚的情況,有了裝置名稱(路徑),就可以直接調用CreateFile開啟裝置,進行它所支援的I/O操作了。如果事先並不能確切知道裝置名稱,如何去訪問裝置呢?A:訪問裝置必須用裝置控制代碼,而得到裝置控制代碼必須知道裝置路徑,這個套路以你我之力是改變不了的。每個裝置都有它所屬類型的GUID,我們順著這個GUID就能獲得裝置路徑。 GUID是同類或同種裝置的全球唯一識別碼,它是一個128 bit(16位元組)的整形數,真實面目為typedef struct

總頁數: 61357 1 .... 17561 17562 17563 17564 17565 .... 61357 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.