netsend: sending short messages (Popups) across the Windows-Network
Note:
- These kind of messages appear on nt, w2k, xp-clients if the messenger service is started
- On Win 3.x 9.x, the winpopup.exe-program must be explicitely loaded
- On MS-DOS LAN-Manager clients, a similar LanManager-module can be loaded
- Because of the chaos in microsoft-APIs and some incompatability between os- and network-client versions and internal message-handling and capabilities, sending and receiving network-popups is not a reliable method to deliver important information: some users receive, some users don't, others incedently close the popup window and so on...
- Messages can be send to a particular user, workstation, all Message Names (*) or a Domain (in other words: to adressable Netbios-Messagenames)
package provide netsend 1.0
package require Ffidl 0.5
ffidl::callout dll_netSend {pointer-utf16 pointer-utf16 pointer-utf16 pointer-utf16 long} long \
[ffidl::symbol netapi32.dll NetMessageBufferSend]
proc netSend {dest mesg {srv {}}} {
set from $::tcl_platform(user)
# or:
# set from [info host]
return [dll_netSend $srv $dest $from $mesg [expr [string length $mesg]*2]]
}
Example:
package require netsend 1.0
puts [netSend hoffmann "This is a Testmessage"]
Category Windows