通過silktest呼叫c 寫的工具獲取dl

2021-06-18 09:14:44 字數 1765 閱讀 6035

通過silktest呼叫c#寫的工具獲取dll檔案版本資訊的方法:

我們在測試的時候有時候要檢查dll檔案的資訊,例如:檔案版本等等,為了解決此種問題,我用c#寫個工具,通過silktest呼叫這個工具從而獲得dll檔案的相關資訊,如:版本號等等。下面就簡單介紹這個方法:

首先 用c#寫個工具test01.exe檔案

原始碼如下:

view plain

copy to clipboard

print

?

usingsystem;  

usingsystem.text;  

usingsystem.diagnostics;  

namespacetest01  

publicvoidgetfileversion()  

staticvoidmain(stringargs)  

}  } 編譯就回test01.exe檔案。

其次 在silktest中呼叫這個工具。

指令碼如下:

tescase getdllfileversion()

string sfilepath="c:\windows\twain.dll

"  // 這裡只是舉個例子

list of string lsfileversion

sys_execute("c:\test\test01.exe  ",lsfileversion)

print(lsfileversion[1])

當然你也可以把上面的方法封裝成乙個方法,方便後邊呼叫。

當然如果你對c++熟悉,可以寫個dll,然後用silktest呼叫dll檔案中的方法,也可以,呵呵!

到此問題解決,是不是很簡單,哈哈^_^

**如下:

view plain

copy to clipboard

print

?usingsystem;  

usingsystem.text;  

usingsystem.text.regularexpressions;  

usingsystem.diagnostics;  

namespacetest01  

publicvoidgetfileversion()  

fileversioninfo myfileversioninfo = fileversioninfo.getversioninfo(sfilepathnew);  

console.writeline("file: "

+ myfileversioninfo.filedescription + 

'\n'

+ "version number: "

+ myfileversioninfo.fileversion);  

}staticvoidmain(stringargs)  

}  } 

C 呼叫C 寫的DLL

方法有不少,這裡記錄其中的乙個方法。編譯 呼叫通過了的。期間遇到的問題是c 呼叫時傳遞string型別的引數和返回值會報錯。targetinvocationexception異常,值不在範圍內,記憶體不可訪問等等。解決方法是 在c 的dll中將string型別的引數返回值改為lptstr型別。在c ...

C 呼叫Delphi寫的DLL

在c 中可以這樣呼叫 呼叫 這裡需要注意的是要外傳的pchar型別引數,在c 中對應使用stringbuilder,如果使用string沒有任何資訊傳出,如果使用ref string形式,則會出現記憶體錯誤。在c 中可以這樣呼叫 呼叫 經過測試 delphi中integer的引數使用c 中的int即...

C 通過this呼叫過載的函式

使用可過載的建構函式時,有時使用乙個構造函式呼叫另乙個建構函式很有用。在c 中,可以通過this關鍵字的另一種形式來實現該操作 下面來看一下案例 class program y t1.x,t1.y console.writeline t2 x y t2.x,t2.y console.writelin...