您的位置:首页 > 编程语言 > C#

通过silktest调用c#写的工具获取dll文件信息的方法

2010-10-21 20:42 811 查看
通过silktest调用c#写的工具获取dll文件信息的方法:

我们在测试的时候有时候要检查dll文件的信息,例如:文件版本 等等,为了解决此种问题,我用c#写个工具,通过silktest调用这个工具从而获得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()

string sFilePath="C:/Windows/twain.dll
" // 这里只是举个例子

List of string lsFileVersion

SYS_Execute("c:/test/test01.exe {sFilePath}",lsFileVersion)

print(lsFileVersion[1])

当然你也可以把上面的方法封装成一个方法,方便后边调用。

当然如果你对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();
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: