WelsonJS.ManagedObject 0.2.7.60

dotnet add package WelsonJS.ManagedObject --version 0.2.7.60
                    
NuGet\Install-Package WelsonJS.ManagedObject -Version 0.2.7.60
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="WelsonJS.ManagedObject" Version="0.2.7.60" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="WelsonJS.ManagedObject" Version="0.2.7.60" />
                    
Directory.Packages.props
<PackageReference Include="WelsonJS.ManagedObject" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add WelsonJS.ManagedObject --version 0.2.7.60
                    
#r "nuget: WelsonJS.ManagedObject, 0.2.7.60"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package WelsonJS.ManagedObject@0.2.7.60
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=WelsonJS.ManagedObject&version=0.2.7.60
                    
Install as a Cake Addin
#tool nuget:?package=WelsonJS.ManagedObject&version=0.2.7.60
                    
Install as a Cake Tool

WelsonJS.ManagedObject

Managed Windows COM modules for the WelsonJS scripting environment.

License: GPL-3.0-only Author: Catswords Research

Overview

WelsonJS.ManagedObject provides managed COM modules for the WelsonJS scripting environment.

The package extends WelsonJS with Windows-specific capabilities such as:

  • COM object activation
  • Windows dialogs
  • Inter-process communication (IPC)
  • Mouse and keyboard input simulation
  • Window handle manipulation
  • Bitmap and image information extraction

The managed object functionality is automatically initialized by the WelsonJS app.js runtime and is available globally. Users do not need to explicitly create a WelsonJS.ManagedObject instance.

Included Modules

WelsonJS.Dialog

Provides Windows dialog functionality for WelsonJS applications.

Supported operations include:

  • Alert
  • Confirm
  • FileDialog

Example:

UseObject("WelsonJS.Dialog", function(dialog) {
    dialog.Alert("boom");
});

WelsonJS.NamedSharedMemory

Provides inter-process communication using Windows named shared memory.

Example:

UseObject("WelsonJS.NamedSharedMemory", function(sharedMemory) {
    // Use named shared memory here.
});

This module can be used when multiple processes need to exchange data through a shared memory region.

WelsonJS.ProcessControl

Provides Windows process and input-control functionality, including:

  • Virtualized mouse input
  • Virtualized keyboard input
  • Window handle manipulation

Example:

UseObject("WelsonJS.ProcessControl", function(processControl) {
    // Control Windows input and windows here.
});

WelsonJS.BitmapControl

Provides bitmap and image information utilities.

Supported functionality includes:

  • Image size information
  • Pixel information extraction
  • Bitmap-related utilities

Example:

UseObject("WelsonJS.BitmapControl", function(bitmapControl) {
    // Inspect bitmap and image information here.
});

Usage

WelsonJS.ManagedObject is automatically initialized by the WelsonJS app.js runtime.

Therefore, applications do not need to create or load WelsonJS.ManagedObject directly.

Instead, use the global UseObject and CreateObject functions provided by WelsonJS.

UseObject

Use UseObject to load a WelsonJS module and receive the module instance through a callback.

UseObject("WelsonJS.Dialog", function(dialog) {
    dialog.Alert("Hello, WelsonJS!");
});

The callback receives the requested module as its argument.

CreateObject

Use CreateObject to create a supported Windows COM object from its ProgID.

var object = CreateObject("Some.Component");

For example:

var object = CreateObject("Some.Component");

if (object) {
    // Use the COM object here.
}

CreateObject supports ProgID-based COM activation and ByRef argument handling through the managed COM implementation.

Choosing Between UseObject and CreateObject

Use UseObject when loading one of the WelsonJS modules provided by this package:

UseObject("WelsonJS.Dialog", function(dialog) {
    dialog.Alert("Hello!");
});

Use CreateObject when creating a COM object by its ProgID:

var object = CreateObject("Some.Component");

The managed COM bridge is already available globally through the WelsonJS runtime, so there is no need to instantiate WelsonJS.ManagedObject explicitly.

Scope

WelsonJS.ManagedObject provides managed implementations for Windows COM modules used by WelsonJS.

The following modules are included:

Module Description
WelsonJS.Dialog Windows dialog operations
WelsonJS.NamedSharedMemory Named shared memory IPC
WelsonJS.ProcessControl Mouse, keyboard, and window control
WelsonJS.BitmapControl Bitmap and image information

WSH-provided Scripting.*, ADODB.*, and WScript.* objects are not included in WelsonJS.ManagedObject and remain outside the scope of this package.

Migration from WelsonJS.Toolkit

Users of WelsonJS.Toolkit, including users of WelsonJS 0.2.7.57 and earlier, should migrate to WelsonJS.ManagedObject.

WelsonJS.Toolkit has been superseded by WelsonJS.ManagedObject.

The functionality previously provided by WelsonJS.Toolkit has been migrated to managed COM modules included in this package. New applications should use WelsonJS.ManagedObject instead of WelsonJS.Toolkit.

If migration is difficult due to compatibility requirements, you can use the WelsonJS.Legacy.Cipher and WelsonJS.Legacy.Toolkit ProgIDs, which provide compatibility with the existing APIs.

Migration summary

Legacy Replacement
WelsonJS.Toolkit WelsonJS.ManagedObject
Native/legacy COM modules Managed COM modules
Legacy Toolkit-based integration UseObject / CreateObject

The migration is intended to provide a cleaner managed implementation while maintaining compatibility with the Windows COM-based architecture used by WelsonJS.

Requirements

  • Windows
  • WelsonJS
  • Windows COM / ActiveX support

Because these modules interact with Windows-specific COM and system APIs, they are intended for Windows environments.

Compatibility

WelsonJS.ManagedObject is designed specifically for the WelsonJS scripting environment and its Windows ECMAScript/WSH-based execution model.

Applications migrating from WelsonJS.Toolkit should verify their existing module usage and COM registration after migration.

Developer

Namhyeon Go Open-source Software Maintainer Catswords Research

Contact: gnh1201@catswords.re.kr

#OPENTOWORK

Project

License

WelsonJS.ManagedObject is distributed under the GNU General Public License v3.0 only (GPL-3.0-only).

See the LICENSE file for the complete license text.

Product Compatible and additional computed target framework versions.
.NET Framework net20 is compatible.  net35 was computed.  net40 was computed.  net403 was computed.  net45 was computed.  net451 was computed.  net452 was computed.  net46 was computed.  net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • .NETFramework 2.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.2.7.60 47 8/16/2026
0.2.7.59 38 8/16/2026
0.2.7.58 50 8/16/2026