c 其他技術學習

2021-06-21 09:37:10 字數 1642 閱讀 5436

為了方便對登錄檔進行操作,.net提供了registry類和registrykey類

(1)自定義特性的**:在類、屬性、方法的上方加上「」的**

(2)有個動態鏈結庫

gdi32.dll:用於裝置輸出的圖形裝置介面(gdi)方法

kernel32.dll:用於記憶體管理和資源處理的低級別系統方法

user32.dll:用於訊息處理、計時器、選單和通訊的windows管理方法

使用反射操作程式集分為如下兩部:

(1)載入反射的程式集

(2)使用type類的方法呼叫或列舉程式集中的型別

有三種方法:(1)p/invoke(只對c apis可用)(2)com objects(3)c++/cli

process p = new process();

p.startinfo.filename = "cmd.exe";

p.startinfo.arguments = "/c dir *.cs";

p.startinfo.useshellexecute = false;// 不使用系統外殼程式啟動,重定向時些值必須為false

p.startinfo.redirectstandardoutput = true;

p.startinfo.createnowindow = true;// 不建立視窗

p.start();

string output = p.standardoutput.readtoend();

p.waitforexit();

stringcollection values = new stringcollection();

var proc = new process

};proc.start();

proc.outputdatareceived += (s,e) =>

};proc.errordatareceived += (s,e) =>

};proc.beginerrorreadline();

proc.beginoutputreadline();

proc.waitforexit();

foreach (string sline in values)

messagebox.show(sline);

什麼叫外掛程式從大一點的概念講就是我們開發的軟體是由很小的模組組成,每一塊都能成功的裝卸,使我們的軟體成為乙個有機體,在發生重大事故、改良優化等等的時候,我們不需要重新編譯我們的系統就能很方便的進行公升級替換進行使用;這樣的開發模式就是外掛程式系統開發模式。乙個大型的系統,不能簡簡單單的用三層或者mvc來概括,我們要站在乙個更高的角度去思考程式,每當我們開始乙個新系統的架構設計時,我們不能總是保守的或是「封建」式的使用以往的思想模式,是否深思熟慮過這些開始模式在我們當前系統中是否可用或者說是否能發揮模式的最大效果。在開始執行前我們需要讀取外掛程式所在的路徑然後進行外掛程式物件的全路徑儲存,以便在後面執行時方便載入;到了run開始真正的執行我們的應用程式了,我們需要根據外掛程式的型別進行載入,外掛程式必須具備型別的原則,用在什麼地方的,好比汽車的零部件,我們有明確的規定,這裡的實現我們可以用介面進行標識;當程式開始結束的時候,我們需要釋放各個外掛程式所占用的系統資源。

參考:

處理字元編碼。

C 學習(友元, 異常, 其他)

包含 object.func func2 class a class b include using namespace std class a a void get class b a geta a getb b void gety int main 友元類 如果某類b的成員函式會頻繁的訪問另乙個...

Cloud 其他虛擬化技術

裝置與i o虛擬化技術把物理機的真實裝置統一管理,包裝成多個虛擬裝置給若干個虛擬機器使用,響應每個虛擬機器的裝置訪問請求和i o請求。裝置與i o虛擬化技術都是通過軟體來實現的,經過虛擬化的裝置並不一定與物理裝置的型號 配置 引數等完全符合,然而這些虛擬裝置可以有效的模擬物理裝置的動作,將虛擬機器的...

其他技術 idea中配置git

git init git add 代表的是所有檔案 git commit m 你的提交描述 提交到本地倉庫 git remote add origin 你的倉庫位址 git push u origin master往主分支提交 如果使用了其他的版本管理,最好將以前的版本管理去除 file setti...