From WikiChip
Editing mirc/commands/dll
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.
The edit can be undone.
Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
This page supports semantic in-text annotations (e.g. "[[Is specified as::World Heritage Site]]") to build structured and queryable content provided by Semantic MediaWiki. For a comprehensive description on how to use annotations or the #ask parser function, please have a look at the getting started, in-text annotation, or inline queries help pages.
Latest revision | Your text | ||
Line 1: | Line 1: | ||
− | + | The '''/dll command''' can be used to call an [[exported function]] from [[DLL]] with the specified parameters. | |
− | The '''/dll command''' can be used to call an exported function from | + | |
+ | == Prototype == | ||
+ | The exported function must have the following function prototype: | ||
+ | |||
+ | <source lang="c">#include <windows.h> | ||
+ | int funcName(HWND mWnd, HWND aWnd, char *data, char *parms, BOOL show, BOOL nopause);</source> | ||
+ | |||
+ | '''Note:''' These functions must use the [[stdcall calling convention]]. (This is also the standard calling convention for all other Microsoft [[Win32 API]] functions.) | ||
== Synopsis == | == Synopsis == | ||
/dll <libName.dll> <funcName> [data] | /dll <libName.dll> <funcName> [data] | ||
− | |||
/dll -u <libName.dll> | /dll -u <libName.dll> | ||
== Switches == | == Switches == | ||
* '''-u''' - Unload the given loaded library. | * '''-u''' - Unload the given loaded library. | ||
− | |||
− | |||
− | |||
== Parameters == | == Parameters == | ||
Line 18: | Line 21: | ||
* '''[data]''' - The data to pass to that function. | * '''[data]''' - The data to pass to that function. | ||
− | + | == Example == | |
+ | <syntaxhighlight lang="mIRC">/* | ||
+ | gcc -c -O3 reverse.c | ||
+ | gcc -shared --export-all-symbols -o reverse.dll -O3 reverse.o | ||
− | + | reverse.c: | |
− | + | #include <windows.h> | |
+ | #include <string.h> | ||
+ | |||
+ | int __attribute__((stdcall)) | ||
+ | reverse(HWND mWnd, HWND aWnd, char *data, char *parms, BOOL show, BOOL nopause) | ||
+ | { | ||
+ | char *l = *data ? data + strlen(data) - 1 : data; | ||
+ | char *p = parms; | ||
+ | while ((*p++ = *l--)); | ||
+ | strcpy(data, "/echo -s "); | ||
+ | strcat(data+8, parms); | ||
+ | return 2; | ||
+ | } | ||
+ | */ | ||
− | + | ; /reverse This is an example! | |
− | + | ; !elpmaxe na si sihT | |
− | + | Alias reverse { | |
− | + | dll "reverse.dll" reverse $1- | |
+ | }</syntaxhighlight> | ||
− | |||
− | |||
− | + | == Compatibility == | |
− | + | Added: mIRC v5.6 | |
− | |||
− | |||
− | + | Added On: 03/06/99 | |
− | |||
− | |||
− | |||
− | + | <small>Note: Individual switches were not taken into consideration.</small> | |
− | |||
== See also == | == See also == | ||
+ | * [[List of commands - mIRC|List of commands]] | ||
+ | * [[List of identifiers - mIRC|List of identifiers]] | ||
* {{mIRC|$dll}} | * {{mIRC|$dll}} | ||
− | + | {{mIRC command list}} | |
− | + | ||
+ | [[Category:MIRC commands]] |