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
<PackageReference Include="WelsonJS.ManagedObject" Version="0.2.7.60" />
<PackageVersion Include="WelsonJS.ManagedObject" Version="0.2.7.60" />
<PackageReference Include="WelsonJS.ManagedObject" />
paket add WelsonJS.ManagedObject --version 0.2.7.60
#r "nuget: WelsonJS.ManagedObject, 0.2.7.60"
#:package WelsonJS.ManagedObject@0.2.7.60
#addin nuget:?package=WelsonJS.ManagedObject&version=0.2.7.60
#tool nuget:?package=WelsonJS.ManagedObject&version=0.2.7.60
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:
AlertConfirmFileDialog
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
- GitHub: https://github.com/gnh1201/welsonjs
- Package:
WelsonJS.ManagedObject
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 | Versions 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. |
-
.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.