一段 CryptAPI 取得 認證序號 的代碼

CryptAPI 取得 認證序號 的操作 cheungmine 通過Win32 CryptAPI尋找個人認證庫(MY)中的指定的認證的序號。顯示之。認證的序號經過處理,和IE中顯示的一樣(只是人為地去掉了空格)。 // 去除指定字元// 下面的代碼用於字串替換static char* trim(char *str, char chr){return (*str==0)?str:(((*str!=chr)?(((trim(str+1, chr)-1)==str)?str:(*(trim(str+1

Webgis 列印實現原理

 Webgis 列印實現原理褫其華袞,示人本相系列之二2006-9-18cheungmine一、問題的提出       Webgis提供了用戶端免外掛程式的地圖瀏覽機制。任何位於WWW節點內的電腦都可以通過瀏覽器瀏覽地圖。但是,列印地圖成了Webgis遇到的一個問題。用戶端如果使用IE的預設列印功能來輸出地圖,僅僅輸出了當前顯示的圖象到印表機。無論從尺寸和解析度上都不能滿足高精度繪圖的需要。如果客戶要求輸出一定比例尺(如:1/500)的大幅面地圖(連續多幅),這就成了Webgis列印的技術壁壘。

雙緩衝繪圖和視窗控制項的繪製——ATL ActiveX 視窗控制項產生嚮導繪製代碼OnDraw的一個錯誤

雙緩衝繪圖和視窗控制項的繪製---ATL ActiveX 視窗控制項產生嚮導繪製代碼OnDraw的一個錯誤 cheungmine我們通常使用ATL COM組件,產生一個帶視窗的ActiveX控制項,然後希望在這個視窗中繪製我們的映像、圖形等資料,然而ATL嚮導產生的程式碼中包含很多錯誤,下面是其自動嚮導產生的程式碼:    HRESULT OnDraw(ATL_DRAWINFO& di)    {        RECT& rc = *(RECT*)di.prcBounds;  

function object研究之六 bind example

這個系列主要希望弄明白boost::bind的實現原理,回到研究之四的簡單使用的例子。稍微加點代碼,也綁定Foo函數。#include <iostream>#include <vector>#include <algorithm>#include <boost/bind.hpp>using namespace std;bool Foo(int x) { return x >= 2;}typedef bool (*FooPointer)(

function object研究之十二 reference_wrapper

reference_wrapper模板:(ref.hpp檔案中)template<class T> class reference_wrapper{ public: typedef T type;#if defined( BOOST_MSVC ) && BOOST_WORKAROUND( BOOST_MSVC, < 1300 ) explicit reference_wrapper(T& t): t_(&t) {}#else

function object研究之一

概念Function object首先是一個類,它實現了函數叫用作業符T operator()(T), T可以是void類型。最簡單的樣本:for_each#include <iostream>#include <vector>#include <algorithm>using namespace std;class A {public: A(): x_(0) { } void operator()(int x) { cout

function object研究之九 visit_each

先看一下boost::visit_each模板,定義在visit_each.hpp檔案中namespace boost { template<typename Visitor, typename T> inline void visit_each(Visitor& visitor, const T& t, long) { visitor(t); } template<typename Visitor, typename T>

function object研究之十三 result_traits

result_traits模板定義在bind.hpp中,屬於_bi namespace中。// result_traitstemplate<class R, class F> struct result_traits{ typedef R type;};#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) &&

Hadoop之HBase快速入門

Hadoop之HBase快速入門cheungmine2012-4-20本文解決單機(standlone)運行HBase的故障問題。讀者可以快速領略HBase的基本Shell命令。第一步 準備軟體機器環境:Ubuntu11.10+JDK1.6下載軟體:hbase-0.92.1.tar.gz我的使用者名稱為:cl我的機器名為:thinkpad-zh解壓縮hbase:$ tar xzf /home/cl/Downloads/hbase-0.92.1.tar.gz複製到目錄下:/home/hbase-0

WTL檔案選擇對話方塊 – CFileDialogImpl

WTL檔案選擇對話方塊 - CFileDialogImpl 1)首先下面的代碼是直接使用Win32 API來開啟單個檔案的代碼: void WinSDK_OpenFileDemo(){    OPENFILENAME    ofn = {0};    char   szFile[MAX_PATH];    *szFile = 0;    // 開始設定OPENFILENAME結構成員    ofn.lStructSize   = sizeof(OPENFILENAME);    

function object研究之八 add_value_*

東西太多,有必要停下來仔細看一下幾個基本的模板類,這裡先看一下add_value_*模板。template< class T, int I > struct add_value_2{ typedef boost::arg<I> type;};template< class T > struct add_value_2< T, 0 >{ typedef _bi::value< T >

function object研究之七 is_placeholder

這裡看一下is_placehoder模板在is_placeholder.hpp中,有如下定義:namespace boost{template< class T > struct is_placeholder{ enum _vt { value = 0 };};} 在arg.hpp中,還有幾個偏特化版本的定義:#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )template< int I >

function object研究之十七 list_av_N

已經走了好遠好遠,現在開始回到我們的目標list_av_N模板:template<class A1> struct list_av_1{ typedef typename add_value<A1>::type B1; typedef list1<B1> type;};template<class A1, class A2> struct list_av_2{ typedef typename

Hadoop 檔案命令

 * 檔案操作 * 查看目錄檔案 * $ hadoop dfs -ls /user/cl * * 建立檔案目錄 * $ hadoop dfs -mkdir /user/cl/temp * * 刪除檔案 * $ hadoop dfs -rm /user/cl/temp/a.txt * * 刪除目錄與目錄下所有檔案 * $ hadoop dfs -rmr /user/cl/temp * * 上傳檔案 * 上傳一個本機/home/cl/local.txt到hdfs中/user/cl/temp目錄下 *

function object研究之十 storageN

現在看一下storageN模板,定義在storage.hpp檔案中:先來個普通的:namespace _bi{// 1template<class A1> struct storage1{ explicit storage1( A1 a1 ): a1_( a1 ) {} template<class V> void accept(V & v) const { BOOST_BIND_VISIT_EACH(v, a1_, 0);

function object研究之十八 bind_t

bind_t模板定義在bind.hpp中:#ifndef BOOST_NO_VOID_RETURNStemplate<class R, class F, class L> class bind_t{public: typedef bind_t this_type; bind_t(F f, L const & l): f_(f), l_(l) {}#define BOOST_BIND_RETURN return#include

function object研究之十九 bind

終於到了最後一篇(至少目前我認為是最後一篇) vector<int>::iterator itor = std::find_if(v.begin(), v.end(), boost::bind(Foo, _1));上面的代碼find_if的第三個參數是bind的傳回值,看一下bind定義:template<class R, class F, class A1> _bi::bind_t<R, F, typename _bi::list_av_

元件物件模型與ATL實現補遺

元件物件模型與ATL實現補遺cheungmine2007-10-11        元件物件模型與ATL實現文章寫好了,但是遺漏了一個關鍵問題。就是還有一個需要修改atlcom.h檔案的地方,我把它更正在這裡。開啟按上篇文章改正後的atlcom0.h,找到下面的函數:STDMETHODIMP IEnumOnSTLImpl<Base, piid, T, Copy, CollType>::Next更正為(只需要改變粗體的地方,一句話而已 )hr = Copy::copy(pelt,

function object研究之二

如何傳遞引用<<Effective STL>>提到可以讓function object繼承自unary_function<T, void>,現在來試一下.class B : public unary_function<int,void>{public: B():x_(0){ } void operator()(int x){ cout<<++x_<<endl; } int x()

服務回應檔SRF直接向瀏覽器傳圖片流的程式碼片段

題目:服務回應檔SRF直接向用戶端瀏覽器傳圖片流的程式碼片段 cheungmine問題:如何從Web服務端把圖片資料直接寫到流裡,展現在用戶端瀏覽器中為什麼要這樣做:效率、安全。不產生臨時檔案。完全記憶體操作。 我使用VS2005 建立ATL Server項目,合并ISAPI,其他如常。項目名稱:RefreshImg。自動建立同名的虛擬目錄,並且自動部署。 1)改寫RefreshImg.h檔案的下面這段代碼:     // 下面是一個有關如何將替換標記用於模具(Stencil)處理器的樣本   

總頁數: 61357 1 .... 18110 18111 18112 18113 18114 .... 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.