原创 win32下Listbox文件拖放及delete鍵刪除

  前一篇我們講了win32下編輯框的文件拖放,今天我們來講講ListBox下的文件拖放,其實原理是一樣的,可以複用編輯框文件拖放的代碼,在編輯框文件拖放中我們只是實現了單個文件拖放,在ListBox中我們來實現一次性多個文件拖放。

原创 windbg分析棧溢出

  本文根據《windows高級調試》5.2.2章節提供的示例進行的實驗,在win10平臺,使用該書提供的bin文件進行調試,因平臺不一樣在實驗過程中發現跟書上有些不同,本章書上的一些調試方法的正確性有待商榷(可以留言討論)。 調試準備

原创 win7下虛擬顯示器完成記(virtual monitor)——VDI顯卡透傳場景

背景 本次使用wddm過濾驅動的應用場景是VDI GPU透傳場景,我這邊運用WDDM過濾驅動,也有人叫wddm hook,主要有如下功能: (1)給透傳顯卡虛擬出一個顯示器,因爲透傳顯卡都是插在服務器上,一臺服務器需要插十幾張顯卡(消費級

原创 windows7/windows10 虛擬顯示器部署(Virtual monitor)

最近有些網友看了我之前的博客之後,向我要虛擬顯示器的bin文件,由於之前代碼是綁定在VDI下的,沒有單獨的虛擬顯示器代碼,所以抽空提取了下相關代碼,單獨編譯。 網盤:https://pan.baidu.com/s/1vdqm0Is9pjA

原创 win10虛擬顯示器開發

2017.7.7 最近在做虛擬化,需要在虛機上虛擬出一個顯示器,我使用的虛機是windows10,虛機裏面有一張透傳顯卡(可看做是物理顯卡),我嘗試過一些方法,比如編寫一個虛擬的WDDM顯卡驅動,然後在顯卡驅動上接上一個顯示器,該方法是有

原创 windows和linux下等待線程的退出

   在linux上,創建一個線程然後在主進程中等待線程的退出,系統提供的api是比較顯而易見的,創建線程使用pthread_create,線程退出使用pthread_exit,主線程等待線程退出使用pthread_join,下面就是在等

原创 cJson庫的使用

  用過很多次cJson庫,都是比較簡單的使用,而且每次用了都會忘記,只能去翻曾經寫過的代碼或是重新到網上查找下,今天在這裏記錄下曾經有用到過的json數據的拼裝和解析。   至於什麼是JSON和C語言庫在哪查找,不懂的可以自行百度。  

原创 linux獲取文件大小的幾種方法

   對於linux獲取文件大小,有幾種方式,首先是比較明顯的方案,調用stat方式,該方式直接獲取文件大小,比較明顯,剩下的兩種方式都是採用間接方式,將文件遊標指向文件末尾,然後獲取遊標相對於文件開頭的偏移量。    實現如下:/* 第

原创 mirrordriver sample編譯和部署

1.概述   最近因工作需要,要使用到顯卡驅動,微軟WDK裏面集成了一個顯卡驅動的Sample程序,下面我將一步步講述如何對該sample程序進行編譯和部署,在這裏我使用的環境是32位win7,爲防止藍屏對物理機產生影響,我將系統裝在了v

原创 linux下獲取系統內存信息

  之前在一家公司做linux嵌入式,有一個需求就是獲取當前設備的總內存大小以及剩餘內存大小。   我們知道我們可以從/proc/meminfo文件中查看這兩個信息大小,運行如下命令:   上面內存的信息量很多,我們並不需要這麼多信

原创 win32 edit控件尾部追加內容

    有時候我們可能想在win32程序上實時打印我們想要的一些信息,不是以覆蓋的形式而是以追加的形式。     以前我常常採用比較笨的方式,首先調用GetDlgItemText獲取原先字符串,保存在一個字符數組裏面,然後將字符數組追加一

原创 win32編輯框文件拖放和文字過濾

    我們可能會遇到這樣的需求,我們要計算一個文件的md5值,爲此我們必須輸入文件的地址,或者通過一個按鈕打開文件瀏覽框,然後選擇要計算的文件,有時候往往文件就在我們眼前但是我們還是需要瀏覽器一步步找它的路徑,這時候如果編輯框支持文

原创 windows無窗口定時器WaitableTimer使用記錄

2017年做SR程序時寫的一個備忘錄,今天再次使用定時器,翻出來看看,記錄下。 自動重置的定時器,信號一到自動執行回調函數,需要用SleepEx才能執行回調函數。 #include "stdafx.h" #include <window

原创 windows虛擬顯示器SDK開發和提供

背景 這週末閒來無事,整理了下虛擬顯示器的源碼,發現有幾個項目都用到了,但是使用的功能不盡相同: (1)最簡單的運用僅僅是需要顯示器的拔插; (2)稍微複雜一點的是需要設置顯示器的分辨率,包括標準的分辨率,如19201080,還包

原创 windbg分析堆溢出

  本文實驗的例子來自《windows高級調試》第6.2.2節,參考書中的方法進行。 1.通過windbg分析堆塊   (1)在命令行運行程序,輸入參數(輸入超過10個字符),在出現如下提示的時候,使用windbg attach到該進程。