Time of Update: 2018-12-05
在DOS平台下,操作串口主要有下列方式:通過BIOS調用、通過串口的硬體中斷或通過對串口硬體進行輪詢,本章將對以上三種方式進行具體的介紹並給出例子。 1.BIOS中斷 在DOS作業系統下,IBM PC及其相容機提供了一種靈活的串口I/O存取方法,即通過INT 14H調用ROM BIOS串列通訊例行程式。當設定AH為不同的值時,產生不同的功能: AH 0 初始化連接埠 AH 1 向串口寫字元 AH 2 從串口讀字元 AH 3
Time of Update: 2018-12-05
摘要: 本文給出了一種通過設定系統熱鍵來呼出在系統後台隱藏啟動並執行服務程式的一種方法,通過這種方法,可以實現後台服務程式在必要的時候同使用者的互動設定。 引言 通常情況下,用於後台監控的服務程式(Service)是沒有介面的,甚至也沒有提供工作列表徵圖,因此絕大多數情況下服務程式是無法同使用者進行互動的。但是在實際應用中,這些服務程式雖然絕大多數時間是在後台運行,但是在某些必要的情況下還是需要使用者的幹預並同使用者進行一些必要的互動操作。但是由於服務程式沒有提供任何可供互動操作之用的介面,
Time of Update: 2018-12-05
// TestRouteInstance.cpp : 定義控制台應用程式的進入點。//#include "stdafx.h"#include <WinSock2.h>#include <assert.h>#include <ws2ipdef.h>#include <AtlConv.h>#pragma comment(lib, "Ws2_32.lib")#define LOCAL_IP "192.168.100.94"#define
Time of Update: 2018-12-05
轉連結:http://www.vcfans.com/2009/07/windows-driver-compiler-link-config.html很不錯,值得收藏! 英文版/ /How to Configure Visual Studio 2008 for Compiling Drivers Setup Visual Studio 2008.Setup DDK (WDK).Add to VS paths DDK include files, libs and bins.Create new
Time of Update: 2018-12-05
摘 要 在大資料量條件下,即時動態顯示三維曲面較困難,其關鍵在於提高三維圖形資料處理和圖形繪製速度。通過對基於圖形工業標準OpenGL實現三維曲面動態顯示的原理和方法的討論,提出採用OpenGL的雙緩衝、顯示列表技術,大幅度提高了圖形資料處理和重新整理速度,保證了每幀資料圖形繪製的連續性和完整性,成功實現了三維曲面資料場即時動態顯示。 關鍵詞 OpenGL 三維曲面 動態顯示 引言 在某三維資料場中,資料隨時間的變化而發生變化,為直觀觀察資料隨時間變化的態勢,需對資料場的變化即時動態顯示。
Time of Update: 2018-12-05
1.COM為了達到通訊的雙向性(可串連COM對象),即用戶端可以調用伺服器的功能,在必要的時候伺服器也可以調用用戶端的接收器功能。2.如果COM要支援事件出口,是可串連的,那麼必須實現IConnectionPointContainer介面,通過他介面的 FindConnectionPoint擷取支援的指定事件介面的連接點指標(IConnectionPoint)。然後通過擷取的IConnectionPoint
Time of Update: 2018-12-05
一、架構視窗 架構視窗在其大小被改變的時候會收到WM_SIZE訊息,這個訊息的處理函數是CFrameWnd::OnSize,此函數接著調用RecalcLayout來重新安置各子視窗,它的主體代碼如下:if(GetStyle() & FWS_SNAPTOBARS){ CRect rect(0, 0, 32767, 32767); RepositionBars(0, 0xffff, AFX_IDW_PANE_FIRST, reposQuery, &rect, &rect,
Time of Update: 2018-12-05
windows作業系統中的檔案夾的資料結構貌似樹,不是二叉樹,而是普通數.可以如下設計,不過只是架構,很多都沒有考慮到程式碼: template <class T>class DIRSTRUCT{ DIRSTRUCT * lpParentDir; vector<DIRSTRUCT*> SubDir; int m_nSubDir; T file;private: void DisPlay(const DIRSTRUCT<T>
Time of Update: 2018-12-05
水晶報表(Crystal Report)是業內最專業、功能最強的報表系統,它除了強大的報表功能外,最大的優勢是實現了與絕大多數流行開發工具的整合和介面。在VS.Net平台做過報表開發的程式員,一定都對水晶報表強大、高效、整合等特性留下了深刻印象。除了開發新程式外,在工作中我們常需要接觸到很多較早的軟體系統報表功能更新的需求,如果能結合水晶報表這一強大的工具,往往能事半功倍。
Time of Update: 2018-12-05
隨著電腦網路化的深入,電腦網路編程在程式設計的過程中變得日益重要。許多文章都曾經介紹過用VC++進行Socket編程的方法。但由雩都是直接利用動態串連庫wsock32.dll進行操作,實現比較繁瑣。其實,VC++的MFC類庫中提供了CAsyncSocket這樣一個通訊端類,用它來實現Socket編程,是非常方便的。 用戶端 建立一個Dialog Based項目:CSockClient。設計一對話方塊,增加ID_Connect(串連)、ID_Send(發送)、ID_Exit(關閉)按鈕,增
Time of Update: 2018-12-05
1. 首先在stdafx.h匯入#import "C:\program files\common files\System\ado\msado15.dll" no_namespace \rename("EOF","adoEOF")2.在app類中添加public:_RecordsetPtr m_pRs;_ConnectionPtr m_pConn;bool ADOExecute(_RecordsetPtr &ADOSet, _variant_t
Time of Update: 2018-12-05
經過多方尋找資料和反覆實驗,終於實現了在單文檔程式中分割視窗,並且可以對視圖進行隨意切換,以下是比較詳盡的步驟: 1,嚮導第四步,選進階,“使用分割欄”挑勾,原始VIEW類為CMyView,派生自CVIEW類 2,要想加入從其他VIEW類派生的類,如CFormView等,應該在StdAfx.h中加入#include <afxcview.h> 3,加入新類CTView,派生自CTreeView,編輯初始化CTView::OnInitialUpdate() 代碼如下
Time of Update: 2018-12-05
對於在某些情況下,在非console程式中需要控制台來列印日誌方便的偵錯工具。可以用下面這個類。寫的粗糙,class CConsoleLog{public: CConsoleLog(void); ~CConsoleLog(void); void Log(char *format, ...);};#include <Windows.h>#include <stdio.h>#include
Time of Update: 2018-12-05
1. 引言多工I/O模型(select)是UNIX/LINUX用得的最多的一種I/O模型,在Windows下也可做為一種同步I/O使用。本文給出該I/O模型處理多Client的簡單(在主線程中)實現。2. 關於selectselect I/O模型是一種非同步I/O模型,在單線程中Linux/WinNT預設支援64個用戶端通訊端。這種I/O模型主要涉及以下幾個函數及宏:int select(…)、FD_ZERO、FD_SET、FD_ISSET以及FD_SETSIZE。3. 用select開發一個S
Time of Update: 2018-12-05
以下是在VB中截獲WIN2000下TCP/IP包的原始碼,在VB6.0,win2000下測試通過,需要注意的地方是,1.必須和本地的一塊網卡,2.每次擷取資料後必須有一段延時。3.資料取到之後放在Buff的數組中。4.把以下的代碼放在一個模組中就可以了。'-----------------------------代碼開始--------------------------------------------------Declare Function bind Lib "ws2_32.dll"
Time of Update: 2018-12-05
數組的智能初始化不少人使用的數組初始化方法是這樣的:int a[100]; for (int i = 0; i < sizeof(a); i++) a[i] = 0;一個for迴圈的初始化方法效率顯然不夠高,代碼也不夠漂亮。其實 C++ Standard Library早已為我們提供了一個又與初始化的強力工具 memset。void memset(void *s, int c, size_t n);memset就是把從地址s開始的記憶體以字元c寫入,直到有n個這樣的字元被寫入為止。因此,我
Time of Update: 2018-12-05
GDI+圖形函數,一個組在.net環境下提供的以取代GDI圖形函數的類,將來會逐漸取代GDI圖形函數.如果在vc6.0中使用gdi+圖形函數,那麼請按以下步驟操作:1.下載下面的rar檔案將其中的Includes和Lib中的檔案拷到vc目錄下的Includes和Lib檔案夾中.2建立一個工程(以winsdk架構為例mfc也相同)將以下代碼加入StdAfx.h標頭檔中//加入的標頭檔#include <comdef.h>//初始化一下com口#ifndef
Time of Update: 2018-12-05
如果你對指標數組和數組指標有很大疑惑,最好的辦法就是自己寫一些測試代碼來驗證自己的想法,以下是一段測試程式碼:#include "stdafx.h"#include<iostream>#include<Windows.h>using namespace std; int _tmain(int argc, _TCHAR* argv[]){ char * pszArr[2] = {0}; //指標數組 char (*pszChar)[2] =
Time of Update: 2018-12-05
首先我們說下通過滑鼠的移動來繪製直線。 這裡要捕獲到滑鼠的兩個訊息:WM_LBUTTONDOWN, WM_LBUTTONUP。響應WM_LBUTTONDOWN訊息記錄直線的起始點,響應WM_LBUTTONUP訊息記錄直線的終點並繪製直線。 好了,我們看看怎麼響應。void CDrawView::OnLButtonDown(UINT nFlags, CPoint point) { //MessageBox("Left Button Clicks DrawView"); m_ptOrigin =
Time of Update: 2018-12-05
TELNET協議規範ARPA Internet上的主機被要求採用並實現此標準。介紹TELNET Protocol的目的是提供一個相對通用的,雙向的,面向八位位元組的通訊方法。它主要的目標是允許介面終端裝置的標準方法和面向終端的相互作用。可以預見到,此協議也可被用於終端到終端的通訊和處理到處理的通訊(分散式運算)。一般考慮一個TELNET串連是一個用於傳輸控制通訊協定的傳送資料的。TELNET 協議是建立在以下三個想法上的:首先是網路虛擬終端的概念;其次是對話選項的方法;最後是終端和處理的協調。當