將dll從進程模組列表中移除並保持正常運行

將dll從進程模組列表中移除並保持正常運行,這玩意想想是挺簡單,n久前byshell就用了,簡單的思路就是給當前的dll記憶體映像做份拷貝,然後跳到那份拷貝的地址空間的代碼,回頭free掉原來的dll,然後馬上用VirtualAlloc在原基址上申請塊同樣大小的空間,並將那份拷貝還原回去,再跳回去執行。完。代碼寫完後再實際程式中應用後發現問題,一旦調用到malloc或new的話就會崩潰,於是去看了下byshell的代碼,發現他申請記憶體是用VirtualAlloc,但是我大量的代碼都是用new來

Filter的使用問答

在GraphEdit中,你可以在DirectShow Filters目錄中找到這個Filter,它的名字為“Fitler Tracer”。下面,筆者就以問答的方式介紹一下這個Filter的使用。1.    如何使用這個Filter?答:運行GraphEdit,首先構建好你的Filter Graph鏈路。然後,加入“Filter Tracer” Filter,並將其接入到Filter鏈路的適當位置或保持其未串連狀態。開啟Filter的屬性頁面進行操作即可。2.    如何查看Filter

va_list、va_start、_vsntprintf、va_end用法樣本(以備後用)

void Msg(TCHAR *szFormat, ...){    TCHAR szBuffer[1024];  // Large buffer for long filenames or URLs    const size_t NUMCHARS = sizeof(szBuffer) / sizeof(szBuffer[0]);    const int LASTCHAR = NUMCHARS - 1;    // Format the input string    va_list

系統服務調度表SSDT及SSSDT Shadow

系統服務:由作業系統提供的一組函數(核心功能),API可以間接或者直接的調用系統服務。作業系統以動態連結程式庫(DLL)的形式提供API。SSDT:系統服務調度表(System  Service  Dispatch Table),該表可以基於系統服務編號進行索引,來定位函數記憶體位址。SSPT:系統服務參數表(System  Service  Parameter  Table),指定系統服務函數的參數位元組數。系統有2個SSDT表, 一個是KeServiceDescriptorTable(nto

怪符號 ASC -24159 unicode為  /表格多出一行空白

結論:表格中,成對標籤間不能出現非空白字元,否則多出的字元會在表格外出現。其中所有的中文(全形)字元都被認為是非空白字元。擴充為全形字元都是非空白字元。zyzy15(Zy) :關於</td>後面第一個空格:是因為這個古怪的空格是全形字元,不是普通的空格。在兩個<td width="193">新華網</td>的後面分別有一個全形空格。這個全形空格被當作文字對待了,由於沒有被td標籤包含,所以就跑到最上面去了======http://community.csdn.

驅動錯誤傳回值學習筆記

說明:ntstatus.h檔案所在路徑C:\WinDDK\7600.16385.1\inc\api今天看了一個ntstatus.h標頭檔中關於驅動中傳回值的一些資料,為今後調試驅動返回錯誤值作一些準備,0x40000000這個範圍內的表示是資訊Informational    #define STATUS_OBJECT_NAME_EXISTS        ((NTSTATUS)0x40000000L)0x80000000這個範圍內的表示是警告Warning        #define

具名管道與Mailslot

原文地址:http://book.51cto.com/art/200912/174785.htm在做驅動與應用程式層使用具名管道通訊時,不知道如何在驅動中開啟具名管道的路徑,原來驅動中的路徑名為:"\Device\NamedPipe\MyPipe",應去層用的是"\\\\.\\Pipe\\MyPipe"再看IoCreateFile()怎樣找到具名管道驅動模組的裝置對象。建立了一個具名管道以後,在對象目錄中就有了一個相應的節點,例如"\Device\NamedPipe\MyPipe"。注意這裡的節

vc++系統托盤

(一)  原理1、最小化的原理:首先要將視窗隱藏,然後 在右下角繪製表徵圖。2、恢複的原理:將視窗顯示,再將托盤中的圖片刪除。(二)程式實現1、自訂訊息WM_SHOWTASK: #define WM_SHOWTASK (WM_USER +1)2、在MFC的::OnSysCommand(UINT nID, LPARAM lParam)函數體中增加一個命令響應                                          if(nID==SC_MINIMIZE)         

幾個音頻格式細節備記(混)

幾個格式細節備記(混)WAVEFORMATEXMEDIATYPE_AudioFORMAT_WaveFormatExCLSID_AudioInputDeviceCategoryCLSID_AudioInputDeviceCategorytypedef struct  _MediaType {    GUID      majortype;      GUID      subtype;    BOOL      bFixedSizeSamples;    BOOL     

VC編譯選項/MT/MTd/MD/MDd說明

VC編譯選項 多線程(/MT)多線程調試(/MTd)多線程 DLL (/MD)多線程調試 DLL (/MDd)C 執行階段程式庫                        庫檔案Single thread(static link) ML            libc.libDebug single thread(static link) MLd        libcd.libMultiThread(static link) MT            libcmt.libDebug

修改預設調試器(以後會用到)

開發時經常遇到不同版本VC編譯的程式, 切換到對應版本的調試器上容易調試一些, 每次去改時都記不得位置和參數, 乾脆留在這裡, 免得到處去找.註冊表位置: HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVersion/AeDebugAuto = 0 // 系統會彈出一個對話方塊,讓你在幾個調試器中選擇 = 1 // 系統會自動調用預設調試器UserDebuggerHotKey=dword:00000000    //

【Directshow】IFilterGraph::AddFilter方法參數問題

  看dx裡dshow的例子和別人的程式,用IFilterGraph::AddFilter()這個API添加filter到Graph的時候,第二個參數是一個裝置易記名稱;我看有的填的是通過IPropertyBag:read方法得到的FriendlyName參數,這個好理解;但是有的則直接填入諸如"CaptureVideo","Source"之類的字串,實在無法理解,因為這些根本不是裝置的FriendlyName,這可以是一個in輸入參數啊?    

用修改IAT法HOOK API

#include <windows.h>#include <stdio.h>#include <tchar.h>#define  UNICODE#define  _UNICODE PIMAGE_DOS_HEADER  pDosHeader;PIMAGE_NT_HEADERS  pNTHeaders;PIMAGE_OPTIONAL_HEADER   pOptHeader;PIMAGE_IMPORT_DESCRIPTOR 

數位影像概念整理【4】——bmp、DIB檔案格式

如何處理視頻訊號?視頻訊號種類很多,RGB,YUV,CVBS,S-VIDEO等等,學電子的,搞視頻影像處理的,可能最終會用到上位機處理。我就是這樣,呵呵,前段時間做了YUV資料的影像處理,用68013從CMOS sensor採集而來,上位機用GDI做的,費了不少勁,要瞭解YUV,就要瞭解RGB,要瞭解RGB,就要瞭解bmp圖片,記憶體存放順序,等等。         

waveOutOpen、waveOutWrite系統函數用法編程實現聲音播放

// vc console#include <windows.h>#include <stdio.h>#pragma comment(lib, "Winmm.lib")#define MUTE_LENGTH 128#define SAMPLE_RATE 11025void main(){ HANDLE hEvent = CreateEvent(NULL , false , false , TEXT("PCM WRITE")); HWAVEOUT hWaveOut;

構建Graph圖常用技術

摘要:本篇文檔主要講述了Graph圖構建過程中常用的技巧主要的內容如下:1如何根據CLSID向graph中添加filter 2如何尋找filter閒置pin 3如何串連兩個Filter 4如何獲得filter或者pin的介面指標 5如何尋找和某個filter的上下相連的filter 6如何刪除graph中的所有filter 7如何利用Capture Graph Builder構建Graph圖表

在bochs虛擬機器中安裝WindowsXP (學習)

好吧話不多說,開始安裝 WIndowsXP1、下載安裝bochs……(這步不會的下面可以不用看了……)2、在Bochs安裝目錄中建立一個WinXP檔案夾(同上面的括弧)3、建立虛擬硬碟用於存放WinXP鏡像具體步驟:進入命令提示字元,使用bximage工具產生image需要回答幾個問題一:產生硬碟還是磁碟片二:鏡像類型 flat sparse or

IE命令列啟動參數

首先一個用得最多也是比較重要的一個參數就是“-nohome”,此參數表示無首頁不顯示任何內容,就連blank空白頁面也不顯示,常用於IE首頁被惡意修改時。以下幾個瞭解一下:2、-k參數可以讓IE工作在全屏方式下3、-slf參數會讓IE串連到預設的首頁4、-new開新的IE進程5、-channelband 收藏夾6、-remote參數可以在Unix平台上啟動另一個IE進程7、-v參數會顯示出IE當前的版本(Unix平台上適用)舉幾個簡單的例子,IEXPLORE www.baidu.com

利用Directshow開發源Filter

摘要:我們一般不推薦自己開發音頻或者視頻捕捉過濾器,因為diectshow對於音視頻的捕捉裝置以經提供了支援。所以,這篇文檔,對於某些使用者需要從特定裝置捕捉一些資料提供一些協助。這篇文檔主要包括以下內容。1捕捉filter 對pin的要求2如何完成一個預覽pin3如何產生來源資料 1 對pin的要求Pin Requirements for Capture

追根究底無法開啟檔案“LIBC.lib”?

小弟在VC2008下編譯VC6移植過來的項目,出現:LINK : fatal error LNK1104:

總頁數: 61357 1 .... 16098 16099 16100 16101 16102 .... 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.