Com Support¶
/comopen¶
Added in 1.9.4
/comopen <name> <progid>
Opens a COM connection to object progid and assigns the connection a name.
For 64 bit AdiIRC, MSScript com objects is not available unless you install https://github.com/tablacus/TablacusScriptControl/releases.
Parameters
Parameter | Description |
<name> | Connection name. |
<progid> | ProgId to open. (e.g Excel.Application) |
/comclose¶
Added in 1.9.4
/comclose <name>
Closes the specified COM connection.
Parameters
Parameter | Description |
<name> | Connection name. |
/comlist¶
Added in 1.9.4
/comlist
Lists all open COM connection.
/comreg¶
Added in 1.9.4
/comreg -u <filename>
Registers/unregisters a COM DLL with windows.
Switches
Switch | Description |
-u | Unregister instead of register. |
Parameters
Parameter | Description |
<filename> | DLL filename to unregister/register. |
$com¶
Added in 1.9.4
$com(name|N)
Returns name if connection is open, or name of Nth connection. N = 0 returns number of open connections.
Parameters
Parameter | Description |
name|N | The connection name or the Nth connection. |
Properties
Property | Description |
.progid | The object name. |
.result | The value returned by the COM object member after the call |
.error | The error code if any. |
.errortext | The error text if any. |
.argerr | TODO |
.dispatch | $true if this is a dispatch pointer. |
.unknown | $true if this is a unknown pointer. |
$com(name, &bvar)
Returns connection information for the connection and puts it into &bvar.
Parameters
Parameter | Description |
name| | The connection name. |
&bvar | The &bvar to write to. |
Properties
Property | Description |
.progid | The object name. |
.result | The value returned by the COM object member after the call |
.error | The error code if any. |
.errortext | The error text if any. |
.argerr | TODO |
.dispatch | $true if this is a dispatch pointer. |
.unknown | $true if this is a unknown pointer. |
$com(name/N,varname)
Returns value of the specified variable name.
Parameters
Parameter | Description |
name/N | The connection name or the Nth connection. |
varname | Name of the referenced variable. |
$com(name,member,method,type1,value1,...,typeN,valueN)
This calls a member of an open COM connection with the specified method and parameters.
Returns: 1 = ok, 0 = fail.
Parameters
Parameter | Description |
name | Connection name. |
alias | Alias to call when the call is finished. |
member | Member name. |
method | Combination of the method values added together (see below). |
type | The variable type (see below), |
value | The value assigned to the variable type. |
Methods
Method | Description |
1 | DISPATCH_METHOD |
2 | DISPATCH_PROPERTYGET |
4 | DISPATCH_PROPERTYPUT |
8 | DISPATCH_PROPERTYPUTREF |
Types
Can be: i1, i2, i4, ui1, ui2, ui4, int, uint, r4, r8, cy, date, decimal, bool, bstr, variant, dispatch, unknown, error.
VB equivalents are: boolean, byte, currency, date, double, integer, long, single, string, variant.
To make a variable by reference, use * in the type name, eg. i1*
To assign a name to a variable for later reference after a call, append it to the type, eg. i1* varname
When using a variant you must also specify the variable type after it, eg. variant bool.
$comcall¶
Added in 1.9.4
$comcall(name,alias,member,method,type1,value1,...,typeN,valueN)
This calls a member of an open COM connection with the specified method and parameters.
Uses the same format as $com() apart from the alias. It is multi-threaded so it will not halt the script and will call the specified alias once the call returns.
Returns: 1 = ok, 0 = fail.
Parameters
Parameter | Description |
name | Connection name. |
alias | Alias to call when the call is finished. |
member | Member name. |
method | Combination of the method values added together (see below). |
type | The variable type (see below), |
value | The value assigned to the variable type. |
Methods
Method | Description |
1 | DISPATCH_METHOD |
2 | DISPATCH_PROPERTYGET |
4 | DISPATCH_PROPERTYPUT |
8 | DISPATCH_PROPERTYPUTREF |
Types
Can be: i1, i2, i4, ui1, ui2, ui4, int, uint, r4, r8, cy, date, decimal, bool, bstr, variant, dispatch, unknown, error.
VB equivalents are: boolean, byte, currency, date, double, integer, long, single, string, variant.
To make a variable by reference, use * in the type name, eg. i1*
To assign a name to a variable for later reference after a call, append it to the type, eg. i1* varname
When using a variant you must also specify the variable type after it, eg. variant bool.
$comerr¶
Added in 1.9.4
$comerr
This should be checked after a call to any COM command or identifier. Returns 1 if there was an error, else 0.
$comval¶
Added in 1.9.4
$comval(name,N,member, [&binvar])
Returns COM member value for the Nth instance of the enumerated collection in name.
Parameters
Parameter | Description |
name | Name of the COM connection. |
N | If N = 0, return number of items, otherwise The Nth item. |
member | Member value to get. |
[&binvar] | Adds the result to the specified &binvar instead. (changes return value to number of bytes added) |
Properties
Property | Description |
.result | Used with [&binvar]. |
Updated by Per Amundsen over 7 years ago · 2 revisions