Bosch Building Technologies

    cancel
    Showing results for 
    Search instead for 
    Did you mean: 

    How to run external executable within BVMS SDK scriplet?

    0% helpful (0/1)

    Question

     

    How to run external executable within BVMS SDK scriplet?

     

    Answer

     

    For more details about how to execute scriplets in the BVMS SDK, please check:

     

    Call .bat files scriplet:

    // ScriptType: ServerScript
    // ScriptLanguage: CS

    using System;
    using System.Diagnostics;
    using System.Collections.Generic;
    using log4net;
    using Bosch.Vms.Core;
    using Bosch.Vms.SDK;
    using System.Net;

    [BvmsScriptClass()]
    public class ServerScript : IDisposable
    {
        private readonly IServerApi Api;
        private readonly ILog Logger;    
        
        public ServerScript(IServerApi api)
        {
            this.Logger = LogManager.GetLogger("ServerScript");
            this.Api = api;        
        }

        public void Dispose()
        {
            // Use this method to cleanup any resources here (consider fully implementing the Dispose pattern).
            // For example, stop and dispose any started timers. Ensure that all threads that were started are stopped here.
            // DO NOT BLOCK in this method for a very long time, as this may block the applications current activity.
        }
        


        [Scriptlet("dbb99725-39ee-4bcf-972c-2f270aea727d")]
        public void CamerasON(EventData e)
        {
            string fullBatPath = @"C:\scripts\cameras_ON.bat";

            var process = new Process()
            {
                StartInfo = new ProcessStartInfo
                {
                    FileName = "cmd.exe",
                    Arguments = $"/C \"{fullBatPath}\"",
                    UseShellExecute = false,
                    CreateNoWindow = false,
                }
            };
            process.Start();
        }

        [Scriptlet("c8d87b59-846f-4d35-bdfe-e96707a00256")]
        public void CamerasOFF(EventData e)
        {
            string fullBatPath = @"C:\scripts\cameras_OFF.bat";

            var process = new Process()
            {
                StartInfo = new ProcessStartInfo
                {
                    FileName = "cmd.exe",
                    Arguments = "/C \"{fullBatPath}\"",
                    UseShellExecute = false,
                    CreateNoWindow = false,
                }
            };
            process.Start();
        }
    }

     

    Version history
    Last update:
    ‎10-17-2023 10:49 AM
    Updated by:
    Contributors
    Icon--AD-black-48x48Icon--address-consumer-data-black-48x48Icon--appointment-black-48x48Icon--back-left-black-48x48Icon--calendar-black-48x48Icon--center-alignedIcon--Checkbox-checkIcon--clock-black-48x48Icon--close-black-48x48Icon--compare-black-48x48Icon--confirmation-black-48x48Icon--dealer-details-black-48x48Icon--delete-black-48x48Icon--delivery-black-48x48Icon--down-black-48x48Icon--download-black-48x48Ic-OverlayAlertIcon--externallink-black-48x48Icon-Filledforward-right_adjustedIcon--grid-view-black-48x48IC_gd_Check-Circle170821_Icons_Community170823_Bosch_Icons170823_Bosch_Icons170821_Icons_CommunityIC-logout170821_Icons_Community170825_Bosch_Icons170821_Icons_CommunityIC-shopping-cart2170821_Icons_CommunityIC-upIC_UserIcon--imageIcon--info-i-black-48x48Icon--left-alignedIcon--Less-minimize-black-48x48Icon-FilledIcon--List-Check-grennIcon--List-Check-blackIcon--List-Cross-blackIcon--list-view-mobile-black-48x48Icon--list-view-black-48x48Icon--More-Maximize-black-48x48Icon--my-product-black-48x48Icon--newsletter-black-48x48Icon--payment-black-48x48Icon--print-black-48x48Icon--promotion-black-48x48Icon--registration-black-48x48Icon--Reset-black-48x48Icon--right-alignedshare-circle1Icon--share-black-48x48Icon--shopping-bag-black-48x48Icon-shopping-cartIcon--start-play-black-48x48Icon--store-locator-black-48x48Ic-OverlayAlertIcon--summary-black-48x48tumblrIcon-FilledvineIc-OverlayAlertwhishlist