* new system function for "send message"

* @panel: Alt+F4 sends close message rather than immediate kill

git-svn-id: svn://kolibrios.org@665 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
Evgeny Grechnikov (Diamond)
2007-10-25 11:20:02 +00:00
parent 94cec78ecd
commit c1f806239d
6 changed files with 101 additions and 35 deletions

View File

@@ -2198,14 +2198,15 @@ dd 638
* eax = 47 - <20><><EFBFBD><EFBFBD><EFBFBD> <20>㭪樨
* ebx = <20><><EFBFBD><E0A0AC><EFBFBD><EFBFBD> <20><EFBFBD><EFBFBD><E0A0A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><20><><E2A5AA>:
* bl = 0 - ecx ᮤ<><EFBFBD> <20><>
* bl = 1 - ecx ᮤ<><EFBFBD><><E3AAA0><EFBFBD> <20><> dword-<2D><>᫮, <20><><EFBFBD><EFBFBD> qword-<2D><>
* bl = 1 - ecx ᮤ<><EFBFBD><><E3AAA0><EFBFBD> <20><> dword/qword-<2D><>
* bh = 0 - <20>⮡ࠦ<E2AEA1><E0A0A6><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E1ABA5><EFBFBD>
* bh = 1 - <20>⮡ࠦ<E2AEA1><E0A0A6><EFBFBD> <20> <20><><EFBFBD><EFBFBD><E2ADA0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
* bh = 2 - <20>⮡ࠦ<E2AEA1><E0A0A6><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
* <20><><EFBFBD><EFBFBD> 16-21 = ᪮<><20><><EFBFBD><EFBFBD> <20>⮡ࠦ<E2AEA1><E0A0A6><EFBFBD>
* <20><><EFBFBD><EFBFBD> 22-29 <20><><EFBFBD>ࢨ஢<E0A2A8><E0AEA2><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> 0
* <20><><EFBFBD> 30 - <20><><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD> 1, <20> <20><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD> qword (64-<2D><><EFBFBD><EFBFBD>) <20><>
* <20><><EFBFBD> 31 - <20><><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD> <20> 1, <20><20><EFBFBD><E0A5A1><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD> <20><><20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><EFBFBD>
* <20><><EFBFBD> 30 <20><><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD> = <20><EFBFBD><EFBFBD><EFBFBD><EFBFBD> qword (64-<2D><><EFBFBD> <20><>᫮);
<20><><EFBFBD> <20><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> bl = 1
* <20><><EFBFBD> 31 <20><><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD> = <20><> <20><EFBFBD><EBA2AE><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><20><20><>
* ecx = <20><>᫮ (<28><><EFBFBD> bl=0) <20><><EFBFBD><><E3AAA0><EFBFBD> (<28><><EFBFBD> bl=1)
* edx = [<5B><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> x]*65536 + [<5B><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> y]
* esi = 0xX0RRGGBB:
@@ -4592,6 +4593,20 @@ Architecture Software Developer's Manual, Volume 3, Appendix B);
<20><><EFBFBD>.
* <20><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><E0A5A4><EFBFBD><EFBFBD> NULL <20> ecx.
======================================================================
================ <20><EFBFBD><E3ADAA><EFBFBD> 72 - <20><><EFBFBD><E1ABA0><><EFBFBD><E9A5AD> <20><><EFBFBD><EFBFBD>. ================
======================================================================
--- <20><><EFBFBD><EFBFBD><EFBFBD><E3ADAA><EFBFBD> 1 - <20><><EFBFBD><E1ABA0><><EFBFBD><E9A5AD> <20> <20><><EFBFBD><E0A0AC><20><><EFBFBD><E2A8A2><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>. ----
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
* eax = 72 - <20><><EFBFBD><EFBFBD><EFBFBD> <20>㭪樨
* ebx = 1 - <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>㭪樨
* ecx = <20><><EFBFBD><><E1AEA1><EFBFBD><EFBFBD>: 2 <20><><EFBFBD> 3
* edx = <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> ecx=2, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E4A8AA><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> ecx=3
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E7A5AD>:
* eax = 0 - <20>ᯥ譮
* eax = 1 - <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
======================================================================
========== <20><EFBFBD><E3ADAA><EFBFBD> -1 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><EBAFAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> =========
======================================================================

View File

@@ -2169,14 +2169,14 @@ Parameters:
* eax = 47 - function number
* ebx = parameters of conversion number to text:
* bl = 0 - ecx contains number
* bl = 1 - ecx contains pointer to dword-number, or qword-number
* bl = 1 - ecx contains pointer to dword/qword-number
* bh = 0 - display in decimal number system
* bh = 1 - display in hexadecimal system
* bh = 2 - display in binary system
* bits 16-21 = how many digits to display
* bits 22-29 reserved and must be set to 0
* bit 30 - set in 1, if the output of qword (64-bites) number
* bit 31 - set in 1, if the output of number without empty zero in high bits is required
* bit 30 set = display qword (64-bit) number (must be bl=1)
* bit 31 set = do not display leading zeroes of the number
* ecx = number (if bl=0) or pointer (if bl=1)
* edx = [coordinate on axis x]*65536 + [coordinate on axis y]
* esi = 0xX0RRGGBB:
@@ -4547,6 +4547,20 @@ Remarks:
length, no more than 255 characters are drawn.
* Pass NULL in ecx to remove caption.
======================================================================
=============== Function 72 - send message to a window. ==============
======================================================================
- Subfunction 1 - send message with parameter to the active window. --
Parameters:
* eax = 72 - function number
* ebx = 1 - subfunction number
* ecx = event code: 2 or 3
* edx = parameter: key code for ecx=2, button identifier for ecx=3
Returned value:
* eax = 0 - success
* eax = 1 - buffer is full
======================================================================
=============== Function -1 - terminate thread/process ===============
======================================================================