COM 組件設計與應用(六)–用 ATL 寫第一個組件

下載原始碼一、前言  1、與 《COM 組件設計與應用(五)》的內容基本一致。但本回講解的是在 vc.net 2003 下的使用方法,即使你不再使用vc6.0,也請和上一回的內容,參照比對。  2、這第一個組件,除了所有 COM 組件必須的 IUnknown 介面外,我們再實現一個自己定義的介面 IFun,它有兩個函數: Add()完成兩個數值的加法,Cat()完成兩個字串的串連。  3、下面......好好聽講! 開始了:-)二、建立 ATL 工程  步驟2.1:建立一個解決方案。  步驟2.

1069錯誤(由於登入失敗而無法啟動服務)解決方案

  原因很簡單,安裝SQL Server時是使用預設登入使用者來作為啟動SQL

水晶報表在VC++6.0中的簡單使用方法

水晶報表是一個報表設計開發的強大工具,功能強大,設計靈活,在水晶報表光碟片中只提供了一個完全動態產生報表的例子,使用繁瑣。現介紹其在VC++6.0中的簡單使用方法。編譯環境:VC++6.0 sp5 、Windows 2000 Server sp3 (en)。一、匯入水晶報表使用的動態聯結庫:根據實際修改檔案路徑。#import "C:Documents and SettingsAdministrator案頭crcraxdrt9.dll"

OGRE教程(二):Cameras, Lights, and Shadows

 原始作者:Clay Culver 中文譯者:Antking  OGRE教程(一)  OGRE教程(二)1)前提2)簡介3)開始4)攝象機4.1 OGRE 攝象機4.2 建立攝象機5)視口(viewports)5.1 OGRE 視口5.2 建立一個視口6)燈光和陰影6.1 OGRE支援的陰影類型6.2 在OGRE中使用陰影6.3 燈光的種類6.4 建立燈光7)嘗試7.1 不同的陰影類型7.2 燈光漸淡7.3 SceneManager::setAmbientLight7.4 視口背景顏色7.5

16 進位碼轉換ASCII碼

//----------------------------------------------------------------------//16 進位碼轉換ASCII碼//----------------------------------------------------------------------int HexToAscii(unsigned char* pAscii, unsigned char* pHex, int nHexLen){ unsigned char*

實戰DeviceIoControl系列 之一:通過API訪問裝置驅動程式

Q:在 NT/2000/XP 中,我想用 VC 編寫應用程式訪問硬體裝置,如擷取磁碟參數、讀寫絕對扇區資料、測試光碟機實際速度等,該從哪裡入手呢?A: 在 NT/2000/XP 中,應用程式可以通過 API 函數 DeviceIoControl來實現對裝置的訪問—擷取資訊,發送命令,交換資料等。利用該介面函數向指定的裝置驅動發送正確的控制碼及資料,然後分析它的響應,就可以達到我們的目的。  DeviceIoControl 的函數原型為:BOOL DeviceIoControl(         

COM 組件設計與應用(七)--編譯、註冊、調用

 一、前言  上兩回中,咱們用 ATL 寫了第一個 COM 組件程式,這回中,主要介紹編譯、註冊和調用方法。樣本程式你已經下載了嗎?如果還沒有下載,vc6.0 的使用者點這裡,vc.net 的使用者點這裡。二、關於編譯  2-1 最小依賴  “最小依賴”,表示編譯器會把 ATL中必須使用的一些函數靜態串連到目標程式中。這樣目標檔案尺寸會稍大,但獨立性更強,安裝方便;反之系統執行的時候需要有

Base64編解碼代碼(CXImage 類處理)

#include <string>using namespace std;class ZBase64{public: //編碼 //DataByte // [in]輸入的資料長度,以位元組為單位 // string Encode(const unsigned char* Data,int DataByte); //解碼 //DataByte // [in]輸入的資料長度,以位元組為單位 //OutByte //

COM 組件設計與應用(一)–起源及複合檔案

 一、前言  公元一九九五年某個夜黑風高的晚上,我的一位老師跟我說:“小楊呀,以後寫程式就和搭積木一樣啦。你趕快學習一些OLE的技術吧......”,當時我心裡就尋思:“開什麼玩笑?搭積木方式寫程式?再過100年吧......”,但作為一名聽話的好學生,我開始在書店裡“踅摸”(注1)有關OLE的書籍(注2)。功夫不負有心人,終於買到了我的第一本COM書《OLE2進階編程技術》,這本800多頁的大布頭花費了我1/5的月工資呀......於是開始日夜耕讀.....功夫不負有心人,我堅持讀完了全部著作

COM組件中的線程模式

 提及COM的線程模式,實際上指的是兩個方面,一個是客戶程式的線程模式,一個是組件所支援的線程模式。客戶程式的線程模式只有兩種,單線程公寓(STA)和多線程公寓(MTA)。組件所支援的線程模式有四種:Single(單線程)、Apartment(STA)、Free(MTA)、Both(STA+MTA)。  1、公寓只是個邏輯上的概念。一個STA只能包含一個線程,一個MTA可以包含多個線程。一個進程可以包含多個STA,但只能有一個MTA。MTA中各線程可以並行的調用本公寓內執行個體化的組件,而不需要

COM組件設計與應用(二)–GUID 和 介面

 一、前言  書接上回,話說在 doc(Word) 複合檔案中,已經解決了儲存 xls(Excel) 資料的問題了。那麼,接下來又要解決另一個問題:當 WORD程式讀取複合檔案,遇到了 xls 資料的時候,它該如何啟動 Excel 呢?啟動後,又如何讓 Excel 自己去讀入、解析、顯示 xls資料呢?二、CLSID 概念  有一個非常簡單的解決方案,那就是在對象資料的前面,儲存有處理這個資料的程式名。(見左上)圖一、CLSID

VC擷取本機MAC地址原始碼

#include "stdafx.h"#include   <stdio.h>   #include   <stdlib.h>   #include   <httpext.h>   #include   <windef.h>   #include   <Nb30.h> #pragma comment(lib, "Netapi32.lib") int getMAC(char * mac)     {       NCB ncb;    

解構函式中拋異常

 1: 可以在解構函式中拋異常嗎?        不可以!        雖然文法上並沒錯,但會對整體系統帶來重大隱患!! 2: 那麼如何保證析構不拋異常呢?       2.1)析構裡如同建構函式一樣,做一些簡單的操作。       2.2)如果異常不可避免,那麼直接在析構裡捕獲異常,不要讓異常逃離解構函式! 3: 析構裡拋異常有什麼危害呢?      

OGRE教程(一):SceneNode, Entity, SceneManager

OGRE教程(一):SceneNode, Entity, SceneManager  原始作者:Clay Culver 中文譯者:Antking  OGRE教程(一)  OGRE教程(二)注意:這篇文章是針對OGRE 1.0.0,如果你使用其他的版本,如果遇到問題請到論壇中討論。目錄1 讀者對象2 簡介3 如何開始4 OGRE如何工作  4.1 SceneManager 基礎  4.2 Entity 基礎  4.3 SceneNode 基礎5 你的第一個OGRE程式6 座標和向量7

provider: 共用記憶體提供者, error: 0 管道的另一端上無任何進程

已成功與伺服器建立串連,但是在登入過程中發生錯誤。 (provider: 共用記憶體提供者, error: 0 - 管道的另一端上無任何進程。) 使用者 'sa' 登入失敗。該使用者與可信 SQL Server 串連無關聯。 說明: 執行當前 Web請求期間,出現未處理的異常。請檢查堆疊追蹤資訊,以瞭解有關該錯誤以及代碼中導致錯誤的出處的詳細資料。 異常詳細資料:System.Data.SqlClient.SqlException: 使用者 'sa' 登入失敗。該使用者與可信 SQL

NeHe OpenGL教程 (二十三)

第23課      球面映射:這一個將教會你如何把環境紋理包裹在你的3D模型上,讓它看起來象反射了周圍的情境一樣。     球體環境映射是一個建立快速金屬反射效果的方法,但它並不像真實世界裡那麼精確!我們從18課的代碼開始來建立這個教程,教你如何建立這種效果。 在我們開始之間,看一下紅寶書中的介紹。它定義球體環境映射為一幅位於無限遠的映像,把它映射到球面上。

初步實現系統級攔截應用程式取硬碟物理序號

【詳細過程】   以前想類比某個程式取硬碟系列號,就將一個DLL注入進去,攔截DeviceIoControl的傳回值,將其修改為目標硬碟的值。   後來看到REGMON 從SSDT著手攔截註冊表操作,可以看到任何程式的讀寫操作,就仿著改了一下程式。經測試可以欺騙相當   一部分程式讀硬碟序號,包括ASPROTECT及用其密碼編譯演算法的子孫:)。      我的思路是這樣的:       1、首先用程式取自己的真正的硬碟序號,假設為XXXX    

基於組件模型的虛擬列印系統的研究與實現

虛擬列印是利用某種方式截獲作業系統的列印任務,將列印任務轉換為影像檔並儲存在指定目錄的系統。通過虛擬列印系統,使用者可以將任意可列印的文檔轉換為統一的影像檔,由一種應用程式進行瀏覽。因此在Web環境、多用戶端情況下,用戶端不需要為瀏覽多種應用程式的檔案而安裝多種應用程式,便於實現瘦用戶端和降低系統的軟體成本。本文通過研究比較現有的虛擬列印系統,提出建立基於組件模型的虛擬列印系統,主要介紹的技術包括:虛擬印表機的實現、虛擬印表機的安裝卸載、系統二次開發介面等。1

COM組件設計與應用(四)–簡單調用組件

一、前言  同志們、朋友們、各位領導,大家好。  VCKBASE 不得了,  網友眾多文章好。  組件設計怎麼學?  知識庫裡悶頭找!   摘自---楊老師打油集錄  在 VCKBASE 的頂力支援下,在各位網友回帖的鼓勵下,我才能順利完成系列論文的前三回。書到本回,我們終於開始寫代碼啦。寫點啥那?恩,有了!咱們先從如何調用現成的簡單的組件開始吧,同時也順便介紹一些相關的知識。二、組件的啟動和釋放  在第三回中,大家用“小本本”記錄了一個原則:COM 組件是運行在分布式環境中的

COM 組件設計與應用(五)–用 ATL 寫第一個組件

下載原始碼一、前言  1、如果你在使用 vc5.0 及以前的版本,請你升級為 vc6.0 或 vc.net 2003;  2、如果你在使用 vc6.0 (ATL 3.0)請閱讀本回內容;  3、如果你在使用 vc.net(ATL 7.0)請閱讀下回內容;(當然讀讀本文內容也不錯)  4、這第一個組件,除了所有 COM 組件必須的 IUnknown 介面外,我們再實現一個自己定義的介面 IFun,它有兩個函數:

總頁數: 61357 1 .... 17559 17560 17561 17562 17563 .... 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.