冬天的小伙伴叫暖气 2014年01月07日
怎么得到用 Regsvr32注册dll的结果
在运行 regsvr32 C:\Users\wh\Desktop\ECCartoExtension.dll 后会弹出处理结果框
和提示错误框
由于注册的dll文件太多,
我在命令语句里添加:/s选择静默形式
现在我想获取是否注册成功的消息。然后保存起来。但是该怎么获取呢
for (int i = 0; i < list.Count; i++)
{
string num = list[i].ToString();//文件路径
int a = num.LastIndexOf(".");
string suffix = num.Substring(a + 1);//文件后缀名
if(suffix=="dll")
{
string commd = "regsvr32 \"" + num+"\"";
Process p = new Process();
p.StartInfo.FileName = "cmd.exe";//设定程序名
p.StartInfo.Arguments = "";
p.StartInfo.UseShellExecute = false;//关闭Shell的使用
p.StartInfo.RedirectStandardInput = true;//重定向标准输入
p.StartInfo.RedirectStandardOutput = true;//重定向标准输出
p.StartInfo.RedirectStandardError = true;//重定向错误输出
p.StartInfo.CreateNoWindow = false;//设置不显示窗口
p.Start();//启动
p.StandardInput.WriteLine(commd);//参数为DOS命令
p.StandardInput.WriteLine("exit");
dll++;
}

我在网上找到了判断是否注册成功的一个例子,但是由于是新手不懂的怎么修改
        [DllImport(@"C:\Users\wh\Desktop\啊啊\ECCartoExtension.dll")]
public static extern int DllRegisterServer();
int ah = DllRegisterServer();
if (ah >= 0)
{

//注册成功!

}

else
{

//注册失败

}

上面的[DllImport(@"C:\Users\wh\Desktop\啊啊\ECCartoExtension.dll")] 括号里面不能写变量,我怎么做才能获取到每注册一个dll文件就获取一个注册结果信息呢?
...全文
199 点赞 收藏 15
写回复
15 条回复

还没有回复,快来抢沙发~

发动态
发帖子
C#
创建于2007-09-28

8.4w+

社区成员

64.0w+

社区内容

.NET技术 C#
社区公告
暂无公告