建立程序 CreateProcess (二)

2021-06-08 13:40:46 字數 1100 閱讀 7956

startupinfo結構中的cb欄位表示該結構的長度,表示子程序繼承父程序的startupinfo結構。

如果要修改子程序的啟動資訊,就要先獲取到父程序的資訊,然後再設定startupinfo結構中的相應字段。

如下隱藏啟動乙個程式:

char lppath = "notepad.exe" ;

startupinfo si = ;

// 設定startf_useshowwindow標記,使得startupinfo結構的wshowwindow欄位有效

si.dwflags |= startf_useshowwindow ;

// 設定視窗的顯示方式,sw_hide表示隱藏方式

si.wshowwindow = sw_hide ;

process_information pi ;

bool bstatus = createprocess ( null, lppath, null, null, false, 0,null, null, &si, &pi ) ;

if ( bstatus == false )

在建立子程序的時候使用create_suspended標記使子程序掛起,此時子程序還沒有初始化,然後就可以呼叫程序中處理子程序的資料和**,比如:對子程序進行資料處理和模組注入(hook)等操作,最後再恢復執行。

wchar lppath = l"notepad.exe" ;

startupinfo si = ;

process_information pi ;

// 步驟1:使用create_suspended建立掛起程序

bool bstatus = createprocess ( null, lppath, null, null, false, create_suspended,null, null, &si, &pi ) ;

if ( bstatus == false )

// 步驟2:在這裡對子程序進行資料處理和模組注入等操作

// ……

// 步驟3:恢復執行

resumethread ( pi.hthread ) ;

C 啟動乙個外部程式 CreateProcess

自 今天還是繼續說說c 呼叫系統api啟動外部程式的方法,今天要說的是createprocess這個api函式,相比前兩篇文章 一 二 中所說的api,createprocess引數要更複雜一些,但使用起來,要更靈活。1.匯入命名空間 using system.runtime.interopserv...

程序建立,程序等待,程序終止

1 程序建立,2 程序等待,3 程序終止 程序建立被定義為通過父程序建立子程序的過程。fork函式 函式原型 pid t fork void 特點 1.fork函式呼叫一次,返回兩次兩次返回值得區別分別是子程序當中的返回值為0,父程序當中的返回值為新建子程序的id 將id返回給父程序的原因是沒有函式...

程序排程之建立程序

do fork struct pid pid alloc pid struct pid pid kmem cache alloc pid cachep,gfp kernel 分配pid結構體空間 nr alloc pidmap current nsproxy pid ns 分配pid程序號 pid ...