1. 程序可以…
2. 關於建立程序
使用createprocess函式建立乙個程序,函式原型為:
bool createprocess
( lptstr lpcommandline,
lpsecurity_attributes lpprocessattributes,
lpsecurity_attributes lpthreadattributes, bool binherithandles,
dword dwcreationflags,
lpvoid lpenvironment,
lpctstr lpcurrentdirectory,
lpstartupinfo lpstartupinfo,
lpprocess_information lpprocessinformation
);
該函式在程序完全初始化好之前就返回true,若其中乙個dll不能正確初始化,程序就會終止。所以返回true也並不意味著程序就可以成功執行了。
2.1關於createprocess函式的引數
具體詳細的查閱msdn,這裡提及我覺得要注意的點~
3. 程序通訊
windows提供不同程序之間傳遞資料方式有:dde(動態資料交換)、ole、管郵件槽和記憶體對映檔案等。
程序通訊方式
檔案對映
共享記憶體
匿名管道
命令管道
郵件槽剪貼簿
動態資料交換
定義程序把檔案內容當做程序位址區間一塊記憶體,並通過指標操作
檔案對映的一種特殊情況,檔案對映物件是從os頁面檔案訪問記憶體
父程序建立管道,由要通訊的子程序整合通道的讀/寫端點控制代碼
給管道制定了名字
可以實現給制定網路區域內的所有計算機廣播訊息的能力
可以共享任何資料格式
使用共享記憶體在應用程式之間進行資料交換
是否支援跨程序通訊是是
僅支援父子程序或「親兄弟」程序是是
是是4. windows session的一些理解
windows session的較詳細理解:
ps:上圖理解來自
使用者登陸到windows系統之後,不管該使用者是本地登陸的,還是遠端登陸,系統都會為這個使用者分配乙個新的會話id(sid)。也就是說會話與使用者的登入是相關連的,沒有使用者登入就不存在會話。因此,會話的含義是指使用者登入之後的一種執行的環境。
程序是為了內部的執行的執行緒提供乙個空間和環境,而會話則是為內部所有的程序提供乙個執行的空間和環境。
當使用者登陸到系統中之後,使用者下所有的程序都屬於這個會話空間。在每個程序的peb當中就有sessionid。
q: 不同會話的程序通訊可以運用的場景有哪些?
程序通訊的一些基本概念
1.目的 1 資料傳輸 乙個程序需要將他的程序資料傳送給另乙個程序。2 資源共享 多個程序之間共享同樣的資源。3 通知事件 乙個程序需要向另乙個或一組程序傳送訊息,通知他們發生了某種事件。4 程序控制 有些程序希望完全控制另乙個程序的執行 如debug程序 此時控制程序希望能夠攔截另乙個程序的所有操...
有關程序的一些基本概念
對程序的初步描述 一.和程序有關的一些概念 乙個程序就是乙個正在執行程式的例項,包括程式計數器,暫存器和變數的當前值。從概念上說,每個程序擁有它自己的虛擬cpu,當然真實的cpu在各個程序之間來回切換。在某一瞬間,cpu只能執行乙個程序,但在一秒鐘時間他可以執行多個程序,這一就產生了並行的錯覺,通產...
C 一些基本概念
建構函式的作用是對物件本身做初始化工作,也就是給使用者提供初始化類中成員變數的一種方式。析構函式是釋放物件執行期間所申請的資源。函式的過載,過載構成的條件 函式的引數型別不同 引數個數不同,才能構成函式的過載 在乙個類中 注意,只有函式的返回型別不同是不能構成函式的過載。在函式過載時,要注意函式帶有...