通过silktest调用c#写的工具获取dll文件版本信息的方法:
首先 用c#写个工具test01.exe文件
源码如下:
- using
System; - using
System.Text; - using
System.Diagnostics; - namespace
test01 - {
-
class Program -
{ -
private string _sFilePath; -
public Program(string sFilePath) -
{ -
_sFilePath = sFilePath; -
} -
public void GetFileVersion() -
{ -
-
FileVersionInfo myFileVersionInfo = FileVersionInfo.GetVersionInfo(_sFilePath); -
Console.WriteLine(myFileVersionInfo.FileVersion); -
} -
static void Main(string[] args) -
{ -
Program p = new Program(args[0]); -
p.GetFileVersion(); -
Console.ReadKey(); -
} -
} - }
编译就回test01.exe文件。
其次 在silktest中调用这个工具。
脚本如下:
tescase GetDllFileVersion()
当然你也可以把上面的方法封装成一个方法,方便后边调用。
当然如果你对c++熟悉,可以写个dll,然后用silktest调用dll文件中的方法,也可以,呵呵!
到此问题解决,是不是很简单,哈哈^_^
当然关于这个问题,我之前在写工具(test01.exe)个走过一个弯路,因为对某些概念理解不深刻,但是却也能解决问题,而其大家也可借鉴。
代码如下:
- using
System; - using
System.Text; - using
System.Text.RegularExpressions; - using
System.Diagnostics; -
- namespace
test01 - {
-
class Program -
{ -
private string _sFilePath; -
public Program(string sFilePath) -
{ -
_sFilePath = sFilePath; -
} -
public void GetFileVersion() -
{ -
Regex regex = new Regex(@"\\"); -
string[] arrTemp = regex.Split(_sFilePath); -
String sFilePathNew = null; -
foreach (string s in arrTemp) -
{ -
sFilePathNew = sFilePathNew + @"\\" + s; -
sFilePathNew = sFilePathNew.TrimStart('\\'); -
} -
FileVersionInfo myFileVersionInfo = FileVersionInfo.GetVersionInfo(sFilePathNew); -
Console.WriteLine("File: " + myFileVersionInfo.FileDescription + '\n' + "Version number: " + myFileVersionInfo.FileVersion); -
} -
static void Main(string[] args) -
{ -
Program p = new Program(args[0]); -
p.GetFileVersion(); -
Console.ReadKey(); -
} -
} - }