You are here:

dk.ActiveXperts.com > ActiveXperts Scripting Toolkit

ActiveXperts Scripting Toolkit

quicklinks


Integrer VBScript og Windows-kommandoer i hvilket som helst applikation

ActiveXperts Scripting Component kan gør det muligt for softwareudviklere at køre et VBScript-program eller et kommando-linje værktøj uden at indblande Windows Scripting Host eller et konsol vindue. Med ActiveXperts Scripting Toolkit, kan VBScript-programmer og kommandolinjeværktøjer kaldes af enhver applikation eller script.

How to use Scripting toolkit Visual Stuio.NET Web Application GUI Application Console Application
Startup screen efter installation Brug Scripting Component med MS Visual Studio Scripting Component i .NET web applikation Scripting Component i .NET forms program Scripting Component i konsole applikation

Normalt, kalder du VBScript-programmer ved at anvende 'Windows Script Host' (enten WScript.exe eller cscript.exe). ActiveXperts Scripting Toolkit kommunikerer direkte med VBScript Engine i operativsystemet

Nogle af fordelene ved at bruge ActiveXperts Scripting Toolkit stedet for at bruge Windows Scripting Host:

  • Funktion resultater kan anvendes direkte i ethvert program
  • Standard output og Standard Error gemmes i variabler, uden at det er nødvendigt at omdirigere
  • Opkaldsfunktioner direkte i stedet for at skrive 'stub' kode
  • Pass funktionsparametre dynamisk - pass funktionen parametrene 'on the fly ", direkte fra din egen applikation eller script
  • Indstil en timeout for at forhindre funktioner fra ikke at vende tilbage, for eksempel som følge af en uendelig løkke
  • Opfang program fejl, der normalt ville gå ned i Windows Scripting Host
  • Tilpas din fejlmeddelelser
  • Understøttelse af Windows Services og Web Applications - kald et VBScript-funktion direkte fra en Windows-tjeneste eller et web-applikation

Nogle af fordelene ved at bruge ActiveXperts Scripting Component i stedet for at udføre et kommando-linje værktøj fra en konsolvindue:

  • Standard output og Standard Error gemmes i variabler, uden at det er nødvendigt at omdirigere
  • Indstil en timeout for at forhindre en kommando-linje værktøj fra ikke at vende tilbage, for eksempel som følge af en uendelig løkke
  • Understøttelse af Windows Services og Web Applications - kald et kommando-linje værktøj direkte fra en Windows-tjeneste eller en Web Applikation

ActiveXperts Scripting Component kan distribueres nemt til enhver Windows-computer. Når du har købt licensen, du kopiere VBScript-PowerShell-component.dll (eller VBScript-PowerShell-componentx64.dll) til arbejdsstationer eller servere og registrere DLL'en på disse maskiner.

ActiveXperts Scripting Component komponent kan bruges af enhver af disse udvikling / scripting sprog:

  • Microsoft Visual Studio .NET: Visual Basic .NET, Visual C# .NET, ASP .NET
  • Microsoft Visual Studio: Visual Basic 5.x eller højere, Visual C++ 5.x eller højere
  • Borland Delphi 7.x or higher, Borland C++ Builder 6.x eller højere
  • ASP 2.x, HTML, Javascript
  • PHP
  • VBScript
  • Enhver anden udviklingsplatform der understøtter ActiveX / COM-komponenter

System Krav

ActiveXperts Scripting Toolkit er tilgængelig som en 32-bit komponent og som en 64-bit komponent (begge en del af produktet):

  • VBScript-PowerShell-component.dll - 32-bit-komponent;
  • VBScript-PowerShell-componentx64.dll - 64-bit-komponent.

ActiveXperts Scripting Component kan køre på følgende operativ systemer:

  • Windows 2008 (32 og 64 bit);
  • Windows 2003 (32 og 64 bit);
  • Windows 2000 Server og Professional (32 bit);
  • Windows 7 (32 og 64 bit);
  • Windows Vista (32 og 64 bit);
  • Windows XP (32 og 64 bit).

Kodestumper og prøve Applikationer

De følgende kodestumper illustrere, hvordan du bruger Scripting objekt.

Visual C #. NET prøve der viser hvordan man kører et VBScript-program

using System;
using System.Collections.Generic;
using System.Text;
using vbscript-powershell-component;

namespace Scripting
{
  class Program
  {
    static void Main(string[] args)
    {
      VBScript objScripting = new VBScript ();

      Microsoft.Win32.RegistryKey regKey;

      // Display Version Info
      Console.WriteLine("Scripting Toolkit Version: " + objScripting.Version);
      Console.WriteLine("Scripting Toolkit Build  : " + objScripting.Build);
      Console.WriteLine("Scripting Toolkit Module : " + objScripting.Module);
      Console.WriteLine("Expiration date          : " + objScripting.ExpirationDate + "\r\n");

      // Set Scriptfile
      objScripting.ScriptFile = "Date.vbs";
      regKey.Close();
                 
      // Specify Function
      objScripting.Function = "GetDateString";

      // Set Parameters
      objScripting.Parameter1 = "\"New Datum: \"";
      objScripting.Parameter2 = "10";
      
      // Run Script
      VBScriptResult objResult = objScripting.Run() as VBScriptResult;

      // Display Result
      Console.WriteLine("{0}", objScripting.ScriptFile);

      Console.WriteLine("Completion Code              : {0}", objResult.RunResultCode);
      Console.WriteLine("Completion Description       : {0}", objResult.RunResultDescription);

      if (objResult.RunResultCode == 0)
      {
          Console.WriteLine("Return String   : {0}", objResult.FunctionReturnString);
          Console.WriteLine("Return Number   : {0}", objResult.FunctionReturnNumber);
      }
      else
      {
          Console.WriteLine("Error Source    : {0}", objResult.ErrorSource);
          Console.WriteLine("Error Description : {0}", objResult.ErrorDescription);
          Console.WriteLine("Error Line      : {0}", objResult.ErrorLineNum);
          Console.WriteLine("Error Char      : {0}", objResult.ErrorCharPos);
          Console.WriteLine("Error Code      : {0,8:X}", objResult.ErrorCode);
      }
    }
  }
}
VB .NET sample shoeing how to execute a remote command

using System;
using System.Collections.Generic;
using System.Text;
using vbscript-powershell-component;

namespace RemoteCommandDemo
{
  class Program
  {
    static void Main(string[] args)
    {
      RemoteCommand objRemoteCmd = new RemoteCommand();

      Console.WriteLine("Scripting Toolkit Version: " + objRemoteCmd.Version);
      Console.WriteLine("Scripting Toolkit Build  : " + objRemoteCmd.Build);
      Console.WriteLine("Scripting Toolkit Module : " + objRemoteCmd.Module);
      Console.WriteLine("Expiration date          : " + objRemoteCmd.ExpirationDate + "\r\n");

      // Clear all paramaters
      objRemoteCmd.Clear();

      // Set hostname of remote computer
      objRemoteCmd.Host = Ask("Hostname of remote computer", false);

      // Set user account
      objRemoteCmd.UserName = Ask("User account on remote computer", true);

      // Set user password
      objRemoteCmd.Password = Ask("Password on remote computer", true);

      // Set remote command
      objRemoteCmd.Command  = Ask("Enter command to execute on remote computer", false);

      // Set command timeout
      objRemoteCmd.CommandTimeout = 5000;

      // Set Logfile
      objRemoteCmd.Logfile = System.Environment.CurrentDirectory + "LogFile.Txt";

      // Run the command
      objRemoteCmd.Run();

      Console.WriteLine("StdOut received: {0}", objRemoteCmd.StdOut);
      Console.WriteLine("StdErr received: {0}", objRemoteCmd.StdErr);
      Console.WriteLine("Executed command, result: {0})", objRemoteCmd.LastError);
      Console.WriteLine("Ready.");

      Console.ReadKey();
    }

    static private string Ask(string strTitle, bool bAllowEmpty)
    {
      String strInput, strReturn = "";

      Console.WriteLine(strTitle);
      do
      {
        Console.Write("  > ");
        strInput = Console.ReadLine();
        if (strInput.Length > 1)
           strReturn = strInput;
      } 
      while (strReturn == "" && !bAllowEmpty);

      return strReturn;
    }
  }
}

Click here for more samples.