【问题标题】:run vbs script file using C# code使用 C# 代码运行 vbs 脚本文件
【发布时间】:2013-07-02 23:41:53
【问题描述】:

我正在尝试使用 C# 代码执行 vbs 文件。 vbs 文件包含在我的机器上调用应用程序的代码。当我在本地运行 C# 代码时,我能够运行 vbs 脚本文件,但是当我将代码部署到 SharePoint 环境时,它看起来甚至没有执行该文件。我没有收到任何错误消息或我在 vbs 脚本文件中添加的任何消息。下面是我用来运行 vbs 脚本文件的 C# 代码。如果我在这里遗漏了什么,有人可以告诉我吗?

C# 代码:

  Process scriptProc = new Process();
    scriptProc.StartInfo.FileName = @"cscript";
    scriptProc.StartInfo.Arguments = @"//B //Nologo C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\template\layouts\segmentationtools\test1.vbs";
    scriptProc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
    scriptProc.Start();
    scriptProc.WaitForExit();
    scriptProc.Close();

VBS 代码:

Dim qtApp 
Set qtApp = CreateObject("QuickTest.Application","Server IP address")
MsgBox("Hello world")
qtApp.Launch
qtApp.Visible = True 

【问题讨论】:

  • "asp.net" 是指尝试运行从服务帐户下显示 UI 的应用程序?
  • 嗨,Alexei,对不起,我没听懂你的问题。您能在这里简要介绍一下您的要求吗?
  • 您尝试在哪里运行该 C# 代码?控制台应用程序/来自一些随机服务/IIS/...以及此代码在什么帐户下运行?
  • 我在 SharePoint Web 应用程序上运行此代码。通常我将aspx页面部署在_layouts文件夹中,与代码相关的.dll部署在Web应用程序的bin文件夹中。我不确定代码是在系统帐户还是任何其他帐户上运行,因为我没有服务器的权限,我们已经获得了服务器上部署文件夹的访问权限。如果有任何方法,请告诉我查看代码在哪个帐户上运行,查看代码在哪个帐户上运行真的很重要吗?对不起,我是这个 vbs 文件的新手。谢谢
  • 您的示例脚本显然不会做任何理智的事情,因为它试图显示 UI,但启动仅输出到控制台的命令行工具/脚本应该没问题。您可能需要使用 RunWithElevatePrivileges 方法才能运行任何东西/访问文件系统...正确配置您的本地 SharePoint 并使用非管理员/非本地帐户访问将有助于调试问题。

标签: c# asp.net vbscript sharepoint-2007 qtp


【解决方案1】:

如果您尝试使用 C# 应用程序启动 UFT/QTP 测试,那么以下示例将对您有所帮助:

http://www.codeproject.com/Answers/288214/How-to-Automate-Qtp-with-C-sharp#answer4

这与您尝试在代码中执行的操作有点不同(运行一个 C# 应用程序,该应用程序运行一个运行 QTP 测试的 vbs 文件),以下代码直接从 C# 应用程序运行 QTP 测试。

我使用该代码开发了一个调度和控制 QTP 测试的应用程序。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-20
    • 1970-01-01
    • 1970-01-01
    • 2022-06-11
    • 1970-01-01
    相关资源
    最近更新 更多