用鉤子(hook)實現C#的屏幕鍵盤效果(2)
(2)WH_MOUSE_LL HookWH_MOUSE_LL Hook監視輸入到線程消息隊列中的鼠標消息。下面的 class 把 API 調用封裝起來以便調用
用鉤子(hook)實現C#的屏幕鍵盤效果(3)
安裝鉤子使用SetWindowsHookEx函數(API函數),指定一個Hook類型、自己的Hook過程是全局還是局部Hook,同時給出Hook過程的進入點,
用鉤子(hook)實現C#的屏幕鍵盤效果(5)
將這個文件編譯成一個dll,即可在應用程序中調用。通過它提供的事件,便可監聽所有的鍵盤事件。但是,這只能監聽鍵盤事件,沒有鍵盤的情況下,怎麼會有鍵盤事件?其實
在c#使用IOCP(完成端口)的簡單示例(1)
這次給大家演示一下利用IOCP的在線程間傳遞數據的例子,順便打算講一些細節和注意的地方。概述:這裡主要使用IOCP的三個API,CreateIoComplet
在c#使用IOCP(完成端口)的簡單示例(2)
lpOverlapped參數,本意是一個win32的overlapped結構的指針,本示例中不用,所以不詳細講。它叫單IO數據,是相對單據並拘束Complet
在c#使用IOCP(完成端口)的簡單示例(3)
開始我也一樣迷惑怎樣傳送對象引用,後來經過研究發現可以這樣解決完成端口傳送對象的問題。使用以下方式來聲明api:[DllImport(Kernel32)] p
C#-用Stopwatch類進行速度測試(2)
添加 Stopwatch對象:Stopwatch類位於System.Diagnostics命名空間。下面是添加對象後 的代碼:using System; u
C#-用Stopwatch類進行速度測試(3)
讀取Stopwatch結果:在結束計時後下一步就是讀取計時結果 了。Stopwatch類提供了以下屬性:Elapsed:返回一個TimeSpan對象,表示計時
C#中將Big5繁體轉換簡體GB2312
C#中將Big5繁體轉換簡體GB2312的程序。using System;using System.IO;using System.Text;using Sy
C#利用sharpziplib的方法淺析
C#語言有很多值得學習的地方,這裡我們主要介紹C#利用sharpziplib,包括介紹壓縮和解壓縮的兩個類,分別為 ZipClass和UnZipClass等方
C#下的BitArray類:實現索引器和位操作
System.Collections命名空間下的BitArray相當於一個bool類型的數組bool[]。MSDN用 BitArray做例子實現了一個索引器,
C#-用Stopwatch類進行速度測試(1)
軟件的運行速度必須要在用戶可以接受的范圍內。通常,改善那些短暫的但頻繁使用的例 程的速度會大幅度地提高軟件的整體速度。要改善速度,當然首先要能夠量度時間。 好
C#發現之旅第十四講 基於動態編譯的VB.NET腳本引擎(下)(1)
主窗體中還定義了諸如Function_New,Function_Open,Function_Save等等函數用於實現 對文檔的新建、打開文件和保存文件等處理。
C#發現之旅第十四講 基於動態編譯的VB.NET腳本引擎(下)(2)
文檔對象筆者袁某在主窗 體中定義了一個DocumentClass的套嵌類型,該類型就是腳本中使用的document全局對象的類 型,其代碼為/// <s
C#發現之旅第十四講 基於動態編譯的VB.NET腳本引擎(下)(3)
創建全局對象容器為了在腳本代碼中 使用document,window這樣的全局對象,筆者得創建一個類型為GlobalObject的全局對象容 器,定義該類型的
C#發現之旅第十四講 基於動態編譯的VB.NET腳本引擎(下)(4)
這裡程序首先創建了一個名為myVBAEngine的腳本引擎對 象,然後向它的VBCompilerImports列表添加了全局對象容器類型所在的名稱空間 MyV
C#發現之旅第十四講 基於動態編譯的VB.NET腳本引擎(下)(5)
編輯腳本工具條上有一個“編輯腳本”的按鈕,該按鈕是點擊事件處 理過程為/// <summary>/// 編輯腳本按鈕事件處理/// </s