Reference/SendMessage: Difference between revisions

From NSIS Wiki
Jump to navigationJump to search
(Created page with "=SendMessage= HWND msg wparam lparam [user_var(return value)] [/TIMEOUT=time_in_ms] Sends a message to HWND. If a user variable $x is specified as the last parameter (or one b...")
 
mNo edit summary
 
(One intermediate revision by one other user not shown)
Line 5: Line 5:
Sends a message to HWND. If a user variable $x is specified as the last parameter (or one before the last if you use /TIMEOUT), the return value of SendMessage will be stored to it. Note that when specifying 'msg' you must just use the integer value of the message. If you wish to send strings use "STR:a string" as wParam or lParam where needed.
Sends a message to HWND. If a user variable $x is specified as the last parameter (or one before the last if you use /TIMEOUT), the return value of SendMessage will be stored to it. Note that when specifying 'msg' you must just use the integer value of the message. If you wish to send strings use "STR:a string" as wParam or lParam where needed.


<highlight-nsis>WM_CLOSE 16
WM_CLOSE 16
WM_COMMAND 273
WM_COMMAND 273
WM_USER 1024
WM_USER 1024
 
Include WinMessages.nsh to have all of Windows messages defined in your script.
Include WinMessages.nsh to have all of Windows messages defined in your script.


Line 14: Line 15:
Use /TIMEOUT=time_in_ms to specify the duration, in milliseconds, of the time-out period.
Use /TIMEOUT=time_in_ms to specify the duration, in milliseconds, of the time-out period.


!include WinMessages.nsh
<highlight-nsis>!include WinMessages.nsh
FindWindow $0 "Winamp v1.x"
FindWindow $0 "Winamp v1.x"
SendMessage $0 ${WM_CLOSE} 0 0</highlight-nsis>
SendMessage $0 ${WM_CLOSE} 0 0</highlight-nsis>
''Command introduced with NSIS v1.51''

Latest revision as of 20:28, 4 June 2013

SendMessage

HWND msg wparam lparam [user_var(return value)] [/TIMEOUT=time_in_ms]

Sends a message to HWND. If a user variable $x is specified as the last parameter (or one before the last if you use /TIMEOUT), the return value of SendMessage will be stored to it. Note that when specifying 'msg' you must just use the integer value of the message. If you wish to send strings use "STR:a string" as wParam or lParam where needed.

WM_CLOSE 16
WM_COMMAND 273
WM_USER 1024

Include WinMessages.nsh to have all of Windows messages defined in your script.

To send a string param, put STR: before the parameter, for example: "STR:Some string".

Use /TIMEOUT=time_in_ms to specify the duration, in milliseconds, of the time-out period.

!include WinMessages.nsh
FindWindow $0 "Winamp v1.x"
SendMessage $0 ${WM_CLOSE} 0 0

Command introduced with NSIS v1.51