Diese Bibliothek stellt Funktionen zur Verfügung, mit deren Hilfe Ereignisse erkannt und bearbeitet werden können. Für diesen Zweck stehen die folgenden Routinen zur Verfügung:
• evnt_button | Auf Maustastendruck warten. |
• evnt_dclick | Geschwindigkeit für Doppelklicks ermitteln/ändern. |
• evnt_keybd | Auf Tastendruck warten. |
• evnt_mesag | Auf Mitteilung warten. |
• evnt_mouse | Auf Bewegungen des Mauszeigers warten. |
• evnt_multi | Auf mehrere Ereignisse reagieren. |
• evnt_timer | Auf Zeit-Ereignis warten. |
• Standard-Nachrichten | |
• Nachrichten-Liste | Übersicht von allen bekannten Nachrichten |
Hinweis: Unter Ereignissen sind in diesem Fall Nachrichten, Tastaturklicks, Mausbewegungen, Zeitereignisse usw. zu verstehen.
Querverweis: AES GEM Style-Guidelines
Name: | »Event Button« - wartet auf einen Mausknopfereignis.
| |||||||||||||||||||||||||||||||||||||||||||||
AES-Nummer: | 21
| |||||||||||||||||||||||||||||||||||||||||||||
Deklaration: | int16_t evnt_button ( int16_t ev_bclicks, int16_t ev_bmask,
int16_t ev_bstate, int16_t *ev_bmx, int16_t *ev_bmy, int16_t
*ev_bbutton, int16_t *ev_bkstate );
| |||||||||||||||||||||||||||||||||||||||||||||
Beschreibung: | Die Funktion wartet auf einen Button-Event, d.h. bis die in
ev_bmask spezifizierten Mausknöpfe in den in
ev_bstate angegeben Zustand versetzt werden. Genauer:
Die Funktion wartet bis das verlangte Ereignis einmal eingetreten ist. Danach wird gewartet und kontrolliert, ob das Ereignis noch einmal auftritt. Falls das Ereignis ev_bclicks mal eingetreten (oder die über evnt_dclick einstellbare Zeit abgelaufen) ist, kehrt die Funktion sofort zurück.
Hinweis: Ab PC-GEM/3 unterstützen die Event-Funktionen nur noch eine Maustaste. Obwohl offiziell nicht dokumentiert, ist es auch möglich beide Maustasten unabhängig voneinander abzufragen. Die folgende Methode wird z.B. vom Atari-Desktop benutzt, und funktioniert seit TOS 1.0: ev_bclicks += 0x100; In diesem Fall wird auf das folgende Ereignis gewartet: (ev_bstate & ev_bmask) != (*ev_bbutton & ev_bmask) | |||||||||||||||||||||||||||||||||||||||||||||
Ergebnis: | Die Funktion liefert die Anzahl der tatsächlich vorgenommenen
Mausklicks.
| |||||||||||||||||||||||||||||||||||||||||||||
Verfügbar: | All AES versions.
| |||||||||||||||||||||||||||||||||||||||||||||
Gruppe: | Ereignisverwaltung
| |||||||||||||||||||||||||||||||||||||||||||||
Querverweis: | Binding evnt_multi Nachrichten
|
C: | int16_t evnt_button ( int16_t ev_bclicks, int16_t ev_bmask,
int16_t ev_bstate, int16_t *ev_bmx, int16_t *ev_bmy, int16_t
*ev_bbutton, int16_t *ev_bkstate );
| ||||||||||||||||||||||||||||||||||||||||||
Umsetzung: |
int16_t evnt_button (int16_t ev_bclicks, int16_t ev_bmask, int16_t ev_bstate, int16_t *ev_bmx, int16_t *ev_bmy, int16_t *ev_bbutton, int16_t *ev_bkstate ) { int_in[0] = ev_bclicks; int_in[1] = ev_bmask; int_in[2] = ev_bstate; crys_if (21); *ev_bmx = int_out[1]; *ev_bmy = int_out[2]; *ev_bbutton = int_out[3]; *ev_bkstate = int_out[4]; return ( int_out[0] ); } | ||||||||||||||||||||||||||||||||||||||||||
GEM-Arrays: |
|
Name: | »Event Doubleclick« - ermittelt oder legt den Zeitraum
zwischen den beiden Klicks eines Doppelklicks fest.
| ||||||||
AES-Nummer: | 26
| ||||||||
Deklaration: | int16_t evnt_dclick ( int16_t ev_dnew, int16_t ev_dgetset );
| ||||||||
Beschreibung: | Die Funktion setzt oder ermittelt die Geschwindigkeit mit der
Doppelklicks der Maus ausgeführt werden müssen. Es gilt:
Hinweis: Man sollte immer daran denken, daß es Menschen gibt, die mit zu hohen Geschwindigkeiten Probleme haben, und dann keine Doppelklicks mehr ausführen können. Die Funktion wird in älteren GEM-Dokumentationen häufig auch evnt_dclicks genannt. | ||||||||
Ergebnis: | Die Funktion liefert die gültige Geschwindigkeit für
Doppelklicks zurück.
| ||||||||
Verfügbar: | All AES versions.
| ||||||||
Gruppe: | Ereignisverwaltung
| ||||||||
Querverweis: | Binding Nachrichten
|
C: | int16_t evnt_dclick ( int16_t ev_dnew, int16_t ev_dgetset );
| |||||||||||||||||||||||||||
Umsetzung: |
int16_t evnt_dclick (int16_t ev_dnew, int16_t ev_dgetset) { int_in[0] = ev_dnew; int_in[1] = ev_dgetset; return ( crys_if(26) ); } | |||||||||||||||||||||||||||
GEM-Arrays: |
|
Name: | »Event Keyboard« - wartet auf ein Tastaturereignis.
|
AES-Nummer: | 20
|
Deklaration: | int16_t evnt_keybd ( void );
|
Beschreibung: | Die Funktion wartet auf ein Tastaturereignis, und gibt den
entsprechenden Code zurück.
Hinweis: Tastatur-Events werden immer nur der Applikation gemeldet, die das aktive Fenster besitzt. |
Ergebnis: | Die Funktion liefert in den Bits 0..7 den ASCII-Code, und in den
Bits 8..15 den Scan-Code der gedrückten Taste.
|
Verfügbar: | All AES versions.
|
Gruppe: | Ereignisverwaltung
|
Querverweis: | Binding evnt_multi Nachrichten
|
C: | int16_t evnt_keybd ( void );
| |||||||||||||||||||||
Umsetzung: |
int16_t evnt_keybd (void) { return ( crys_if (20) ); } | |||||||||||||||||||||
GEM-Arrays: |
|
Name: | »Event Message« - wartet auf eine Mitteilung des AES.
|
AES-Nummer: | 23
|
Deklaration: | int16_t evnt_mesag ( int16_t *msg );
|
Beschreibung: | Die Funktion wartet bis in der Message-Pipe der Applikation ein
Ereignis vorliegt.
Der Parameter msg ist ein Zeiger auf den 16 Bytes großen Nachrichten-Puffer. |
Ergebnis: | Als Ergebnis wir immer 1 zurückgegeben.
|
Verfügbar: | All AES versions.
|
Gruppe: | Ereignisverwaltung
|
Querverweis: | Binding Nachrichten
|
C: | int16_t evnt_mesag ( int16_t *msg );
| ||||||||||||||||||||||||
Umsetzung: |
int16_t evnt_mesag (int16_t *msg) { addr_in[0] = msg; return ( crys_if (23) ); } | ||||||||||||||||||||||||
GEM-Arrays: |
|
Name: | »Event Mouse« - wartet darauf, daß der Mauszeiger in einen
Bereich hinein- oder hinausgeschoben wird.
| ||||||||||||||||||||||||||||||||||||||||
AES-Nummer: | 22
| ||||||||||||||||||||||||||||||||||||||||
Deklaration: | int16_t evnt_mouse ( int16_t ev_moflags, int16_t ev_mox,
int16_t ev_moy, int16_t ev_mowidth, int16_t ev_moheight, int16_t
*ev_momx, int16_t *ev_momy, int16_t *ev_mobutton, int16_t *ev_mokstate
);
| ||||||||||||||||||||||||||||||||||||||||
Beschreibung: | Die Funktion wartet darauf, bis der Mauszeiger einen bestimmten
Teil des Bildschirms betritt oder verläßt.
| ||||||||||||||||||||||||||||||||||||||||
Ergebnis: | Als Ergebnis wird immer eine 1 zurückgeliefert.
| ||||||||||||||||||||||||||||||||||||||||
Verfügbar: | All AES versions.
| ||||||||||||||||||||||||||||||||||||||||
Gruppe: | Ereignisverwaltung
| ||||||||||||||||||||||||||||||||||||||||
Querverweis: | Binding Nachrichten
|
C: | int16_t evnt_mouse ( int16_t ev_moflags, int16_t ev_mox,
int16_t ev_moy, int16_t ev_mowidth, int16_t ev_moheight, int16_t
*ev_momx, int16_t *ev_momy, int16_t *ev_mobutton, int16_t *ev_mokstate
);
| ||||||||||||||||||||||||||||||||||||||||||||||||
Umsetzung: |
int16_t evnt_mouse (int16_t ev_moflags, int16_t ev_mox, int16_t ev_moy, int16_t ev_mowidth, int16_t ev_moheight, int16_t *ev_momx, int16_t *ev_momy, int16_t *ev_mobutton, int16_t *ev_mokstate) { int_in[0] = ev_moflags; int_in[1] = ev_mox; int_in[2] = ev_moy; int_in[3] = ev_mowidth; int_in[4] = ev_moheight; crys_if (22); *ev_momx = int_out[1]; *ev_momy = int_out[2]; *ev_mobutton = int_out[3]; *ev_mokstate = int_out[4]; return (int_out[0]); } | ||||||||||||||||||||||||||||||||||||||||||||||||
GEM-Arrays: |
|
Name: | »Event Multi« - wartet auf ein beliebiges Ereignis.
| ||||||||||||||||||||||||||||||||||||||||||||||||||
AES-Nummer: | 25
| ||||||||||||||||||||||||||||||||||||||||||||||||||
Deklaration: | int16_t evnt_multi ( int16_t ev_mflags, int16_t ev_mbclicks,
int16_t ev_mbmask, int16_t ev_mbstate, int16_t ev_mm1flags, int16_t
ev_mm1x, int16_t ev_mm1y, int16_t ev_mm1width, int16_t ev_mm1height,
int16_t ev_mm2flags, int16_t ev_mm2x, int16_t ev_mm2y, int16_t
ev_mm2width, int16_t ev_mm2height, int16_t *ev_mmgpbuff, int16_t
ev_mtlocount, int16_t ev_mthicount, int16_t *ev_mmox, int16_t
*ev_mmoy, int16_t *ev_mmbutton, int16_t *ev_mmokstate, int16_t
*ev_mkreturn, int16_t *ev_mbreturn );
| ||||||||||||||||||||||||||||||||||||||||||||||||||
Beschreibung: | Die evnt_multi Funktion wartet auf eine Reihe verschiedener
Events.
Hinweis: Durch die große Anzahl der zu übergebenden Parameter verbraucht diese Funktion relativ viel CPU-Zeit; denn die Parameter müssen zunächst auf dem Stack abgelegt, und dann noch auf die Eingabefelder des GEM verteilt werden. MU_WHEEL: Wird nur versendet wenn es keine obenliegendes Fenster gibt oder das Fenster keine Pfeile besitzt. MU_MX: Es wird jede Bewegung der Maus gemeldet (ev_mmox, ev_mmoy), zusätzlich noch erfolgt noch die Rückgabe des Status der Tastaur. MU_KEYBD4: Used internally in GEM/4 to check for a context-sensitive help request. MU_NORM_KEYBD: Wenn das Ereignis MU_NORM_KEYBD mit in die Ergenismaske aufgenommen wird, bekommt die Applikation anstatt den standard AES Scancode einen normaliesierten Tastencode (NKCC) und Staus der Maus geliefert. Wird in der Maske MU_KEYBD und MU_NORM_KEYBD angeben, wird immer MU_NORM_KEYBD geliefert. Die Rückgabe erfolgt in ev_mmokstate und ev_mkreturn, wobei bei der gleichen Wert besitzen. X_MU_DIALOG: If the ev_mflags parameter has bit 14 set (ev_mflags |= X_MU_DIALOG), any mouse clicks and keyboard actions within windows containing dialogs will cause the ev_mwhich return value from evnt_multi to have bit 14 set. When this happens, ev_mmgpbuff word 2 contains the index of the object within the dialog which was selected. If the object was a TOUCHEXIT button and the user double-clicked on it, then bit 15 will be set, similar to the way form_do works. Word 3 of the message buffer ev_mmgpbuff contains the window handle of the window in which the event occurred. This feature is used in conjunction with the wind_set option X_WF_DIALOG. | ||||||||||||||||||||||||||||||||||||||||||||||||||
Ergebnis: | Als Ergebnis liefert die Funktion die Nummer des oder der
aufgetretenen Events im oben angegebenen Format.
| ||||||||||||||||||||||||||||||||||||||||||||||||||
Verfügbar: | In allen AES Versionen.
| ||||||||||||||||||||||||||||||||||||||||||||||||||
Gruppe: | Ereignisverwaltung
| ||||||||||||||||||||||||||||||||||||||||||||||||||
Querverweis: | Binding evnt_keybd evnt_button evnt_mouse evnt_mesag
evnt_timer evnt_dclick Nachrichten
|
C: | int16_t evnt_multi ( int16_t ev_mflags, int16_t ev_mbclicks,
int16_t ev_mbmask, int16_t ev_mbstate, int16_t ev_mm1flags, int16_t
ev_mm1x, int16_t ev_mm1y, int16_t ev_mm1width, int16_t ev_mm1height,
int16_t ev_mm2flags, int16_t ev_mm2x, int16_t ev_mm2y, int16_t
ev_mm2width, int16_t ev_mm2height, int16_t *ev_mmgpbuff, int16_t
ev_mtlocount, int16_t ev_mthicount, int16_t *ev_mmox, int16_t
*ev_mmoy, int16_t *ev_mmbutton, int16_t *ev_mmokstate, int16_t
*ev_mkreturn, int16_t *ev_mbreturn );
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Umsetzung: |
int16_t evnt_multi (int16_t ev_mflags, int16_t ev_mbclicks, int16_t ev_mbmask, int16_t ev_mbstate, int16_t ev_mm1flags, int16_t ev_mm1x, int16_t ev_mm1y, int16_t ev_mm1width, int16_t ev_mm1height, int16_t ev_mm2flags, int16_t ev_mm2x, int16_t ev_mm2y, int16_t ev_mm2width, int16_t ev_mm2height, int16_t *ev_mmgpbuff, int16_t ev_mtlocount, int16_t ev_mthicount, int16_t *ev_mmox, int16_t *ev_mmoy, int16_t *ev_mmbutton, int16_t *ev_mmokstate, int16_t *ev_mkreturn, int16_t *ev_mbreturn) { int_in[0] = ev_mflags; int_in[1] = ev_mbclicks; int_in[2] = ev_mbmask; int_in[3] = ev_mbstate; int_in[4] = ev_mm1flags; int_in[5] = ev_mm1x; int_in[6] = ev_mm1y; int_in[7] = ev_mm1width; int_in[8] = ev_mm1height; int_in[9] = ev_mm2flags; int_in[10] = ev_mm2x; int_in[11] = ev_mm2y; int_in[12] = ev_mm2width; int_in[13] = ev_mm2height; int_in[14] = ev_mtlocount; int_in[15] = ev_mthicount; addr_in[0] = ev_mmgpbuff; crys_if (25); *ev_mmox = int_out[1]; *ev_mmoy = int_out[2]; *ev_mmbutton = int_out[3]; *ev_mmokstate = int_out[4]; *ev_mkreturn = int_out[5]; *ev_mbreturn = int_out[6]; return (intout[0]); } | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GEM-Arrays: |
|
Name: | »Event Timer« - wartet einen Zeitabschnitt ab.
| ||||||
AES-Nummer: | 24
| ||||||
Deklaration: | int16_t evnt_timer ( int16_t ev_tlocount, int16_t ev_thicount
);
| ||||||
Beschreibung: | Die Funktion wartet bis eine bestimmte Zeit vergangen ist. Es
gilt:
Hinweis: Für Warteschleifen in Programmen sollte immer diese Funktion benutzt werden. Das Betriebssystem kann dann (auch ohne echtes Multitasking) einem anderen Prozess die CPU zuteilen. Unter TOS 1.0 darf in einem Accessorie der Timer nicht auf 0 gesetzt werden, sonst hängt sich das System auf. | ||||||
Ergebnis: | Als Ergebnis wird immer eine 1 zurückgeliefert.
| ||||||
Verfügbar: | All AES versions.
| ||||||
Gruppe: | Ereignisverwaltung
| ||||||
Querverweis: | Binding Nachrichten
|
C: | int16_t evnt_timer ( int16_t ev_tlocount, int16_t ev_thicount
);
| |||||||||||||||||||||||||||
Umsetzung: |
int16_t evnt_timer (int16_t ev_tlocount, int16_t ev_thicount) { int_in[0] = ev_tlocount; int_in[1] = ev_thicount; return ( crys_if (24) ); } | |||||||||||||||||||||||||||
GEM-Arrays: |
|
Die Standardmessages des Screenmanagers sind wie folgt aufgebaut:
msg[0] | Art der Message
|
msg[1] | ID der Applikation, die die Nachricht abgeschickt hat
|
msg[2] | Anzahl der Bytes die über die Standardlänge von 16 Bytes
hinausgehen, und dann mit appl_read gelesen werden müssen
|
Arten der Standardmessages:
Nachricht | Bedeutung
| ||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||
AC_CLOSE (41) | wird an ein Accessory geschickt, wenn die aktuelle Applikation
beendet, der Bildschirm gelöscht und der Windowmanager neu
initialisiert wird.
Hinweis: Diese Nachricht spielt in Multitaskingsystemen praktisch keine Rolle mehr, und ist in MagiC auch nicht mehr vorhanden! | ||||||||||||||||||||||||||||||||||||||||
AC_OPEN (40) | ein Accessory wurde aktiviert
Geneva have the following extension: If an application sends an AC_OPEN message to another application, it can optionally set word 4 of the message to -1. In this case, Geneva will automatically substitute the correct menu identifier for the application in word 4. Example to open application with ID #5: int buf[8]im { AC_OPEN, 5, 0, my_apid, -1 }; appl_write( 5, 16, buf ); Sending an AC_OPEN message to a desk accessory will cause it to open if it is not already open, or it will make its window topmost (by sending a WM_TOPPED message) if the desk accessory has a window open. An application will receive a WM_TOPPED message, if it has a window open. | ||||||||||||||||||||||||||||||||||||||||
AP_DRAGDROP (63) | ist ein Teil des Drag&Drop-Protokolls und wird vom Sender
an den Empfänger geschickt.
Hinweis: Wird anstelle einer gültigen Fensterkennung der Wert -1 übergeben, so ist das Ziel der Drag&Drop Operation kein spezielles Fenster, sondern die Applikation selbst. Es sollte dann normalerweise ein zusätzliches Fenster für die angegebenen Daten geöffnet werden. | ||||||||||||||||||||||||||||||||||||||||
AP_RESCHG (57) | durch diese Nachricht wird die betreffende Applikation darüber
informiert, daß ein Auflösungswechsel stattfinden soll. Der Empfänger dieser
Nachricht sollte sich dann sobald wie möglich beenden.
| ||||||||||||||||||||||||||||||||||||||||
AP_TERM (50) | das Betriebssystem fordert die Applikation auf, sich zu
beenden. Dies kann z.B. beim Auflösungswechsel notwendig sein, oder
von einem allgemeinen Shut-Down Utility ausgelöst werden.
Achtung: Entgegen der üblichen Konvention muss in msg[1] der Wert -1 eingetragen werden, da lt. MagiC Dokumentation sonst nicht garantiert ist, daß der Desktop von einer Shut-Down-Sequenz (Alternate-Control-Delete) ausgeht. | ||||||||||||||||||||||||||||||||||||||||
AP_TFAIL (51) | wird vom Empfänger einer AC_CLOSE bzw. AP_TERM Nachricht
verschickt, falls dieser sich nicht beenden möchte oder kann.
| ||||||||||||||||||||||||||||||||||||||||
CH_EXIT (90) | wird an den Parent-Prozess geschickt, wenn ein Child
terminiert.
| ||||||||||||||||||||||||||||||||||||||||
CT_KEY (53) | wird vom modularen Kontrollfeld XCONTROL verschickt, um
Tastendrücke auswerten zu können, die keine Auswirkungen auf
Editfelder haben können, also z.B. HELP oder UNDO.
| ||||||||||||||||||||||||||||||||||||||||
FNT_CHANGED (83) | wird verschickt, wenn zur Laufzeit GDOS-Fonts an- bzw.
abgemeldet wurden.
Auf den Empfang dieser Nachricht sollte mit vst_unload_fonts und direkt anschließendem vst_load_fonts reagiert werden. Dadurch ist sichergestellt, daß die Applikation mit den aktuellen Zeichensätzen arbeiten kann. | ||||||||||||||||||||||||||||||||||||||||
MN_SELECTED (10) | ein Menüeintrag wurde ausgewählt
Hinweis: Das Vorhandensein der erweiterten Nachricht (msg[5] und folgende) sollte am besten per appl_getinfo (Opcode 9) ermittelt werden. | ||||||||||||||||||||||||||||||||||||||||
PRN_CHANGED (82) | Diese Nachricht wird vom GDOS-Konfigurationsprogramm an alle
erreichbaren Applikationen verschickt, um diese über Änderungen an
Gerätetreibern zu informieren. Es gilt:
Eine Applikation kann nach dem Empfang dieser Nachricht z.B. die entsprechende Workstation neu öffnen, die jetzt aktuellen Einstellungen ermitteln, und einen evtl. Preview neu anbieten. | ||||||||||||||||||||||||||||||||||||||||
RESCH_COMPLETED (61) | diese Nachricht wird an diejenige Applikation geschickt, die
einen Auflösungswechsel eingeleitet hat. Wenn kein Fehler aufgetreten
ist, muß diese sich nun auch beenden.
| ||||||||||||||||||||||||||||||||||||||||
SC_CHANGED (80) | diese Nachricht sollte von einem Programm an alle anderen
Applikationen im System verschickt werden, wenn dieses den Inhalt des
GEM-Klemmbrettes verändert hat.
| ||||||||||||||||||||||||||||||||||||||||
SH_WDRAW (72) | diese Nachricht sollte von einer Applikation an die
System-Shell versandt werden, wenn der Inhalt eines Laufwerkes
verändert worden ist. Die Shell kann daraufhin die entsprechenden
Fenster aktualisieren.
Hinweis: Ein Wert von -1 bedeutet, daß die Shell alle Fenster aktualisieren soll. | ||||||||||||||||||||||||||||||||||||||||
SHUT_COMPLETED (60) | wird vom Betriebssystem an den Initiator eines Shut-Down
geschickt, wenn alle anderen Applikationen davon bereits informiert
wurden, und diese positiv reagiert haben.
| ||||||||||||||||||||||||||||||||||||||||
SM_M_SPECIAL (101) | diese Nachricht steht nur unter MagiC (ab Version 2.0) zur
Verfügung, und muß an den Screen-Manager geschickt werden.
Hinweis: Die Codes 6..8 von msg[6] stehen dabei erst ab MagiC Version 3.1 zur Verfügung. Bei "Redraw ausführen" und "alle Applikationen einblenden" muß als ID die des Screenmanager (1) angegeben werden. | ||||||||||||||||||||||||||||||||||||||||
THR_EXIT (88) | Diese Nachricht wird an den Thread bzw. die Applikation
geschickt, der bzw. die den beendeten Thread erzeugt hat. Es gilt:
| ||||||||||||||||||||||||||||||||||||||||
WM_ALLICONIFY (36) | alle Fenster der Applikation sollen zu einem ikonifizierten
Fenster zusammengefaßt werden.
| ||||||||||||||||||||||||||||||||||||||||
WM_ARROWED (24) | ein Pfeil oder Rollbalken wurde angeklickt.
Ab XaAES v0.960 gibt es einer Erweiterung dieser Nachricht, da es neue Treiber für Mäuse mit Rädern gibt.
Es besteht aber auch die Möglichkeit per WF_WHEEL echte Nachrichten der Mausrad Drehung zu bekommen.
Falls WINX installiert ist kann es zu einer erweiterten WM_ARROWE Nachricht kommen.
Man sollte so vorgehen: Ist [5] >=0, dann handelt es sich um eine normale Scrollnachricht. Ist [5] < 0, dann negiert man den Wert und erhält den Faktor für [4] Ist [7] < 0, dann negiert man den Wert und erhält den Faktor für [6] ansonsten wird [6] ignoriert Beispiel: Erhält man z.B. [WM_ARROWED 1 0 win WA_DNLINE -2 WA_RTLINE -1], dann sollte man zwei Zeilen nach unten und eine Spalte nach rechts scrollen. | ||||||||||||||||||||||||||||||||||||||||
WM_BACKDROPPED (31) |
Beim betätigen des Backdrop-Button des Fensters bekommt die Applikation diese Meldung. Nur in KAOS 1.4.2 sowie MagiC 1 und 2 vorhanden. Seit MagiC Version 3 wird WM_BOTTOMED verschickt. | ||||||||||||||||||||||||||||||||||||||||
WM_BOTTOMED (33) | wird vom Screen-Manager benutzt um die Applikation
aufzufordern, ein Fenster in den Hintergrund zu legen.
Hinweis: das Fenster kann von der Applikation dann einfach per wind_set (msg[3], WF_BOTTOM, 0, 0 ,0, 0) in den Hintergrund gelegt werden. Unter MagiC 2.0 heißt diese Meldung noch WM_M_BDROPPED. | ||||||||||||||||||||||||||||||||||||||||
WM_CLOSED (22) | das oberste Fenster soll geschlossen werden
| ||||||||||||||||||||||||||||||||||||||||
WM_FULLED (23) | der Fullsizeknopf des obersten Fensters wurde angeklickt.
| ||||||||||||||||||||||||||||||||||||||||
WM_HSLID (25) | der horizontale Rollbalken wurde verschoben
| ||||||||||||||||||||||||||||||||||||||||
WM_ICONIFY (34) | ein Fenster der Applikation soll ikonifiziert werden.
| ||||||||||||||||||||||||||||||||||||||||
WM_M_BDROPPED (100) | wird vom Screen-Manager benutzt um die Applikation
aufzufordern, ein Fenster in den Hintergrund zu legen. Ab MagiC 3 wird
nicht mehr dieser Opcode, sondern WM_BOTTOMED verschickt.
| ||||||||||||||||||||||||||||||||||||||||
WM_MOVED (28) | das ganze Fenster wurde verschoben
| ||||||||||||||||||||||||||||||||||||||||
WM_NEWTOP (29) | das Fenster wurde nach oben gebracht
| ||||||||||||||||||||||||||||||||||||||||
WM_ONTOP (31) | ein Fenster wird (nach dem Schließen oder Deaktivieren eines
anderen Fensters) zum aktuellen bzw. aktiven.
Hinweis: zum Zeitpunkt der Ankunft der Nachricht kann sich der Fensterstapel bereits wieder verändert haben. Die Nachricht wird nur verschickt, wenn die Applikation nicht mit einem Aufruf das Fenster selbst in den Vordergrund gesetzt hat. Nachrichten dieses Typs werden im AES-Messagepuffer verschmolzen. Daraus folgt, daß immer die letzte Nachricht dieser Art empfangen wird; es können sich also nicht mehrere dieser Nachrichten im Puffer befinden. | ||||||||||||||||||||||||||||||||||||||||
WM_REDRAW (20) | ein Fensterbereich muß neu gezeichnet werden
| ||||||||||||||||||||||||||||||||||||||||
WM_SHADED (22360) | Fenster wurde eingeklappt.
| ||||||||||||||||||||||||||||||||||||||||
WM_SIZED (27) | die Fenstergröße wurde verändert
| ||||||||||||||||||||||||||||||||||||||||
WM_TOOLBAR (37) | behandelt Mausklicks in ein Toolbar-Objekt; es gilt:
Hinweis: Bei allen Objekten der Toolbox sollte das Flag TOUCHEXIT gesetzt werden, gilt nicht für XaAES. Hier gibt es noch den zusätzlichen Wert:
| ||||||||||||||||||||||||||||||||||||||||
WM_TOPPED (21) | ein Fenster soll zum oben liegenden Fenster werden.
| ||||||||||||||||||||||||||||||||||||||||
WM_UNICONIFY (35) | ein oder mehrere Fenster der Applikation sollen unikonifiziert
werden. Falls mehrere Fenster betroffen sind (WM_ALLICONIFY) ist die
Applikation auf sich allein gestellt, da das AES keine Informationen
über die betroffenen Fenster sowie deren Positionen/Ausmaße
bereitstellt.
| ||||||||||||||||||||||||||||||||||||||||
WM_UNSHADED (22361) | Fenster wurde ausgeklappt.
| ||||||||||||||||||||||||||||||||||||||||
WM_UNTOPPED (30) | ein Fenster wird gerade inaktiv.
Hinweis: zum Zeitpunkt der Ankunft der Nachricht kann sich der Fensterstapel bereits wieder verändert haben. Die Nachricht wird nur verschickt, wenn die Applikation nicht mit einem Aufruf das Fenster selbst in den Hintergrund gelegt hat. | ||||||||||||||||||||||||||||||||||||||||
WM_VSLID (26) | der vertikale Rollbalken wurde verschoben
|
Die Unterstützung der neuen Nachrichtentypen kann per appl_getinfo (Opcode 12) erfragt werden. Für benutzerdefinierte Mitteilungen hat Digital Research übrigens Message-Nummern jenseits von 1024 vorgeschlagen.
Zur Größe des Nachrichtenpuffers:
Eine einzelne Applikation sollte unter MagiC 2.0 nicht mehr als 16 Fenster nutzen, da sonst der Nachrichtenpuffer des Systems überlaufen kann und evtl. Redraws nicht mehr ausgeführt werden können.
Querverweis: evnt_multi evnt_mesag AV-Protokoll OLGA-Protokoll Drag&Drop
Hex | Dez | Name | |
$000a | 10 | MN_SELECTED | |
$0014 | 20 | WM_REDRAW | |
$0015 | 21 | WM_TOPPED | |
$0016 | 22 | WM_CLOSED | |
$0017 | 23 | WM_FULLED | |
$0018 | 24 | WM_ARROWED | |
$0019 | 25 | WM_HSLID | |
$001a | 26 | WM_VSLID | |
$001b | 27 | WM_SIZED | |
$001c | 28 | WM_MOVED | |
$001d | 29 | WM_NEWTOP | |
$001e | 30 | WM_UNTOPPED | |
$001f | 31 | WM_ONTOP | |
$001f | 31 | WM_BACKDROPPED | KAOS 1.4.2 |
$0020 | 32 | WM_OFFTOP | MultiGEM |
$0021 | 33 | WM_BOTTOMED | |
$0022 | 34 | WM_ICONIFY | |
$0023 | 35 | WM_UNICONIFY | |
$0024 | 36 | WM_ALLICONIFY | |
$0025 | 37 | WM_TOOLBAR | |
$0026 | 38 | WM_REPOSED | XaAES |
$0028 | 40 | AC_OPEN | |
$0029 | 41 | AC_CLOSE | |
$002b | 43 | WM_ISTOP | MultiGEM |
$0032 | 50 | AP_TERM | |
$0032 | 50 | CT_UPDATE | DR |
$0033 | 51 | AP_TFAIL | |
$0033 | 51 | CT_MOVE | DR |
$0034 | 52 | CT_NEWTOP | DR |
$0034 | 52 | AP_AESTERM | N.AES |
$0035 | 53 | CT_KEY | XControl |
$0039 | 57 | AP_RESCHG | |
$003c | 60 | SHUT_COMPLETED | |
$003d | 61 | RESCH_COMPLETED | |
$003f | 63 | AP_DRAGDROP | |
$0046 | 70 | TDI_Question | TDI-Modula |
$0047 | 71 | TDI_Answer | TDI-Modula |
$0048 | 72 | SH_WDRAW | |
$0050 | 80 | SC_CHANGED | |
$0052 | 82 | PRN_CHANGED | NVDI |
$0053 | 83 | FNT_CHANGED | NVDI |
$0054 | 84 | COLORS_CHANGED | NVDI |
$0058 | 88 | THR_EXIT | |
$0059 | 89 | PA_EXIT | MagiC 3 |
$005a | 90 | CH_EXIT | |
$0064 | 100 | WM_M_BDROPPED | MagiC |
$0064 | 100 | Druckauftrag | CALCLOCK, from DR |
$0065 | 101 | SM_M_SPECIAL | MagiC |
$0065 | 101 | Druckauftrag emfpangen | CALCLOCK, from DR |
$0066..$006d | 102..109 | SM_M_RES | MagiC (intern) |
$006e..$00c7 | 110..199 | reserviert | Screen-Manager |
$00c8 | 200 | PRT_MSG | Output |
$00c9 | 201 | STRT_MSG | Output |
$00ca | 202 | QUIT_MSG | Output |
$00cb..$0158 | 203..344 | reserviert | Screen-Manager |
$0159 | 345 | WM_WHEEL | XaAES |
$015a..$03e7 | 346..999 | reserviert | Screen-Manager |
$03e8 | 1000 | SCRAP_OK | Scrap |
$03e9 | 1001 | SCRAP_NOTOK | Scrap |
$03ea | 1002 | SCRAP_UPDT | Scrap |
$03eb | 1003 | SCRAP_OPEN | Scrap |
$03ec..$03ff | 1004..1023 | reserviert | Screen-Manager |
$03fd | 1021 | SHOW | MultiGEM2 |
$03ff | 1023 | HIDE | MultiGEM2 |
$0400 | 1024 | ACC_ID | XAcc Protocol |
$0401 | 1025 | ACC_OPEN | XAcc Protocol |
$0402 | 1026 | ACC_CLOSE | XAcc Protocol |
$0403 | 1027 | ACC_ACC | XAcc Protocol |
$0404 | 1028 | ACC_EXIT | XAcc Protocol |
$0438 | 1080 | MYOSD_DISPLAY | MyOSD |
$0439 | 1081 | MYOSD_OK | MyOSD |
$043A | 1082 | MYOSD_NOK | MyOSD |
$0480 | 1152 | ACC_REQUEST | XAcc Protocol |
$0481 | 1153 | ACC_REPLY | XAcc Protocol |
$0500 | 1280 | ACC_ACK | XAcc Protocol |
$0501 | 1281 | ACC_TEXT | XAcc Protocol |
$0502 | 1282 | ACC_KEY | XAcc Protocol |
$0503 | 1283 | ACC_META | XAcc Protocol |
$0504 | 1284 | ACC_IMG | XAcc Protocol |
$0510 | 1296 | ACC_GETDSI | XAcc Protocol |
$0511 | 1297 | ACC_DSINFO | XAcc Protocol |
$0512 | 1298 | ACC_FILEINFO | XAcc Protocol |
$0513 | 1299 | ACC_GETFIELDS | XAcc Protocol |
$0514 | 1300 | ACC_FIELDINFO | XAcc Protocol |
$0520 | 1312 | ACC_FORCESDF | XAcc Protocol |
$0521 | 1313 | ACC_GETSDF | XAcc Protocol |
$0401 | 1025 | AC_HELP | PureC-Help Protocol |
$0402 | 1026 | AC_REPLY | PureC-Help Protocol |
$0403 | 1027 | AC_VERSION | PureC-Help Protocol |
$0404 | 1028 | AC_COPY | PureC-Help Protocol |
$0708..$0710 | 1800..1808 | interne Kommunikation | Hänisch Modula-2 |
$07d0 | 2000 | MSG_IDENTIFY | STalker |
$07d1 | 2001 | MSG_SLEEP | STalker |
$07d2 | 2002 | MSG_WAKE | STalker |
$07d3 | 2003 | MSG_DISPLAY | STalker |
$07d4 | 2004 | MSG_INFO | STalker |
$07d5 | 2005 | MSG_CONFIG | STalker |
$07d6 | 2006 | MSG_BUFFER | STalker |
$07d7 | 2007 | MSG_RESOURCE | STalker |
$07d8 | 2008 | MSG_SENDSTRING | STalker |
$07d9 | 2009 | MSG_KEYSTROKE | STalker |
$07da | 2010 | MSG_EXECUTE_SCRIPT | STalker |
$07db | 2011 | MSG_ENABLE | STalker |
$07db | 2011 | INST_CURSOR | HFB-Hausfinanzbuchhaltung |
$07dc | 2012 | CHANGE_MENU | HFB-Hausfinanzbuchhaltung |
$07dd | 2013 | PUT_VORGABE_DO2 | HFB-Hausfinanzbuchhaltung |
$07de | 2014 | PUT_VORGABE_EIGENT | HFB-Hausfinanzbuchhaltung |
$07df | 2015 | PUT_DATA_IN_BOX | HFB-Hausfinanzbuchhaltung |
$07e0 | 2016 | MY_WM_ONTOP | HFB-Hausfinanzbuchhaltung |
$0930 | 2352 | WM_MOUSEWHEEL | |
$0935 | 2357 | WIND_DATA | |
$0936 | 2358 | DO_WPOPUP | DirUp |
$0991 | 2449 | Holger Weets | |
$0994 | 2452 | ICON_MSG | ASH-EMailer |
$0995 | 2453 | RSDAEMON_MSG | PPP-Connect |
$0996 | 2454 | DD_STRING | |
$0997 | 2455 | WISEL_MSG | |
$0998 | 2456 | MSG_NOEVENT | |
$0999 | 2457 | WINCOM_MSG | |
$0a2b | 2603 | TOPW_OPENED | Manager |
$0a91 | 2705 | FILE_UPDATED | Manager |
$0c94 | 3220 | ASK_ALTA_LISTA | Alta Lista |
$0c95..$0c9d | 3221..3229 | reserviert | Alta Lista |
$0c9e | 3230 | AL_Reply | Alta Lista |
$0cf1 | 3313 | TWSTART | TosWin2, tw-call |
$0cf2 | 3314 | TWOK | TosWin2, tw-call |
$0cf3 | 3315 | TWWRITE | TosWin2, tw-call |
$0cf4 | 3316 | TWREAD | TosWin2, tw-call |
$0cf5 | 3317 | TWERR | TosWin2, tw-call |
$0cf6 | 3318 | TWTOP | TosWin2, tw-call |
$0cf7 | 3319 | TWSHELL | TosWin2, tw-call |
$0fa0 | 4000 | PENGUIN_Version | HomePage Penguin |
$0fa1 | 4001 | PENGUIN_Reply | HomePage Penguin |
$0fa2..$0faf | 4002..4015 | reserviert | HomePage Penguin |
$1000 | 4096 | WM_SAVE | Menü Protocol |
$1001 | 4097 | WM_SAVEAS | Menü Protocol |
$1002 | 4098 | WM_PRINT | Menü Protocol |
$1003 | 4099 | WM_UNDO | Menü Protocol |
$1004 | 4100 | WM_CUT | Menü Protocol |
$1005 | 4101 | WM_COPY | Menü Protocol |
$1006 | 4102 | WM_PASTE | Menü Protocol |
$1007 | 4103 | WM_SELECTALL | Menü Protocol |
$1008 | 4104 | WM_FIND | Menü Protocol |
$1009 | 4105 | WM_REPLACE | Menü Protocol |
$100a | 4106 | WM_FINDNEXT | Menü Protocol |
$100b | 4107 | WM_HELP | Menü Protocol |
$100c | 4108 | WM_DELETE | Menü Protocol |
$1065 | 4197 | IDC_FROM_ACC | IDC |
$10a5 | 4261 | IDC_WAKE_UP | IDC |
$10e5 | 4325 | IDC_FROM_APP | IDC |
$1150 | 4432 | JINNEE_MSG | |
$1235 | 4661 | GO_PRIVATE | ObjectGEM |
$1236 | 4662 | OLGA_INIT | OLGA-Protocol |
$1238 | 4664 | OLGA_UPDATE | OLGA-Protocol |
$1239 | 4665 | OLGA_ACK | OLGA-Protocol |
$123a | 4666 | OLGA_RENAME | OLGA-Protocol |
$123b | 4667 | OLGA_OPENDOC | OLGA-Protocol |
$123c | 4668 | OLGA_CLOSEDOC | OLGA-Protocol |
$123d | 4669 | OLGA_LINK | OLGA-Protocol |
$123e | 4670 | OLGA_UNLINK | OLGA-Protocol |
$123f | 4671 | OLGA_UPDATED | OLGA-Protocol |
$1240 | 4672 | OLGA_RENAMELINK | OLGA-Protocol |
$1241 | 4673 | OLGA_LINKRENAMED | OLGA-Protocol |
$1242 | 4674 | OLGA_GETOBJECTS | OLGA-Protocol |
$1243 | 4675 | OLGA_OBJECTS | OLGA-Protocol |
$1244 | 4676 | OLGA_BREAKLINK | OLGA-Protocol |
$1245 | 4677 | OLGA_LINKBROKEN | OLGA-Protocol |
$1246 | 4678 | OLGA_START | OLGA-Protocol |
$1247 | 4679 | OLGA_GETINFO | OLGA-Protocol |
$1248 | 4680 | OLGA_INFO | OLGA-Protocol |
$1249 | 4681 | OLGA_IDLE | OLGA-Protocol |
$124a | 4682 | OLGA_ACTIVATE | OLGA-Protocol |
$124b | 4683 | OLGA_EMBED | OLGA-Protocol |
$124c | 4684 | OLGA_EMBEDDED | OLGA-Protocol |
$124d | 4685 | OLGA_UNEMBED | OLGA-Protocol |
$124e | 4686 | OLGA_GETSETTINGS | OLGA-Protocol |
$124f | 4687 | OLGA_SETTINGS | OLGA-Protocol |
$1250 | 4688 | OLGA_REQUESTNOTIFICATION | OLGA-Protocol |
$1251 | 4689 | OLGA_RELEASENOTIFICATION | OLGA-Protocol |
$1252 | 4690 | OLGA_NOTIFY | OLGA-Protocol |
$1253 | 4691 | OLGA_NOTIFIED | OLGA-Protocol |
$1254 | 4692 | OLGA_SERVERTERMINATED | OLGA-Protocol |
$1255 | 4693 | OLGA_CLIENTTERMINATED | OLGA-Protocol |
$1256 | 4694 | OLGA_INPLACEUPDATE | OLGA-Protocol |
$1257 | 4695 | OLGA_ID4UPDATE | OLGA-Protocol |
$1258 | 4696 | OLGA_GETEXTENSION | OLGA-Protocol |
$1259 | 4697 | OLGA_EXTENSION | OLGA-Protocol |
$125a | 4698 | OLGA_GETSERVERPATH | OLGA-Protocol |
$125b | 4699 | OLGA_SERVERPATH | OLGA-Protocol |
$125c | 4700 | OLGA_IE_BUTTON | OLGA-Protocol |
$125d | 4701 | OLGA_IE_KEY | OLGA-Protocol |
$125e..$126f | 4702..4719 | reserviert | OLGA-Protocol |
$126f | 4719 | SSP_SRASR | System Services Protocol |
$1270 | 4720 | SSP_SSIR | System Services Protocol |
$1271 | 4721 | SSP_SPASI | System Services Protocol |
$1272 | 4722 | SSP_SSUR | System Services Protocol |
$1273 | 4723 | SSP_SPASA | System Services Protocol |
$1274 | 4724 | SSP_SSA | System Services Protocol |
$1275..$128d | 4725..4738 | reserved | System Services Protocol |
$1350 | 4944 | GS_REQUEST | GEMScript Protocol |
$1351 | 4945 | GS_REPLY | GEMScript Protocol |
$1352 | 4946 | GS_COMMAND | GEMScript Protocol |
$1353 | 4947 | GS_ACK | GEMScript Protocol |
$1354 | 4948 | GS_QUIT | GEMScript Protocol |
$1355 | 4949 | GS_OPENMACRO | GEMScript Protocol |
$1356 | 4950 | GS_MACRO | GEMScript Protocol |
$1357 | 4951 | GS_WRITE | GEMScript Protocol |
$1358 | 4952 | GS_CLOSEMACRO | GEMScript Protocol |
$1770 | 6000 | _ASSIGN | MIDI_COM |
$1771 | 6001 | _GOOD_BYE | MIDI_COM |
$1772 | 6002 | _SEND_DATA | MIDI_COM |
$1773 | 6003 | _PRINT | MIDI_COM |
$1774 | 6004 | _WAIT_TOKEN | MIDI_COM |
$1775 | 6005 | _FREE_TOKEN | MIDI_COM |
$1777 | 6007 | _UNITIME | MIDI_COM |
$1778 | 6008 | _STOP_RING | MIDI_COM |
$1779 | 6009 | _GET_VERW | MIDI_COM |
$178e | 6030 | _PRKONF | MIDI_COM |
$1795 | 6037 | _SHUTDOWN | MIDI_COM |
$1796 | 6038 | _VERSION | MIDI_COM |
$1970 | 6512 | RS_INITIATE | Relationships |
$1971 | 6513 | RS_TERMINATE | Relationships |
$1972 | 6514 | RS_ACK | Relationships |
$1973 | 6515 | RS_HELLO | Relationships |
$1974 | 6516 | RS_BYE | Relationships |
$1975 | 6517 | RS_LINK | Relationships |
$1976 | 6518 | RS_UNLINK | Relationships |
$1977 | 6519 | RS_DATA | Relationships |
$1978 | 6520 | RS_OPEN | Relationships |
$1a00 | 6656 | 1ADDR_INIT | 1st Address |
$1a01 | 6657 | 1ADDR_SEARCH | 1st Address |
$1a02 | 6658 | 1ADDR_INPUT | 1st Address |
$1a03 | 6659 | 1ADDR_SORT | 1st Address |
$1a04 | 6660 | 1ADDR_ALL | 1st Address |
$1a05 | 6661 | 1ADDR_REPLACE | 1st Address |
$1a06 | 6662 | 1ADDR_DELETE | 1st Address |
$1a80 | 6784 | 1ADDR_ANSW_INIT | 1st Address |
$1a81 | 6785 | 1ADDR_ANSW_SEARCH | 1st Address |
$1a82 | 6786 | 1ADDR_ANSW_INPUT | 1st Address |
$1a83 | 6787 | 1ADDR_ANSW_SORT | 1st Address |
$1a84 | 6788 | 1ADDR_ANSW_ALL | 1st Address |
$1a85 | 6789 | 1ADDR_ANSW_REPLACE | 1st Address |
$1a86 | 6790 | 1ADDR_ANSW_DELETE | 1st Address |
$1aff | 6911 | 1ADDR_QUIT | 1st Address |
$1f40 | 8000 | GM_SHOW_FILE | GREPIT |
$1f41 | 8001 | GM_OPEN_DIALOG | GREPIT |
$1f42 | 8002 | GM_OPEN_PRGINFO | GREPIT |
$2f10 | 12048 | KOBOLD_JOB | Kobold Protocol |
$2f11 | 12049 | KOBOLD_JOB_NO_WINDOW | Kobold Protocol |
$2f12 | 12050 | KOBOLD_ANSWER | Kobold Protocol |
$2f13 | 12051 | KOBOLD_CONFIG | Kobold Protocol |
$2f14 | 12052 | KOBOLD_FIRST_SLCT | Kobold Protocol |
$2f15 | 12053 | KOBOLD_NEXT_SLCT | Kobold Protocol |
$2f16 | 12054 | KOBOLD_CLOSE | Kobold Protocol |
$2f17 | 12055 | KOBOLD_FREE_DRIVES | Kobold Protocol |
$3d00..$3d7f | 15616..15743 | CAD-3D_Request_xxx | CAD-3D |
$3d80..$3dff | 15744..15871 | CAD-3D_Reply_xxx | CAD-3D |
$4150 | 16720 | Aniplayer | |
$4200 | 16896 | SE_INIT | SE-Protocol |
$4201 | 16897 | SE_OK | SE-Protocol |
$4202 | 16898 | SE_ACK | SE-Protocol |
$4203 | 16899 | SE_OPEN | SE-Protocol |
$4204 | 16900 | SE_ERROR | SE-Protocol |
$4205 | 16901 | SE_ERRFILE | SE-Protocol |
$4206 | 16902 | SE_PROJECT | SE-Protocol |
$4207 | 16903 | SE_QUIT | SE-Protocol |
$4208 | 16904 | SE_TERMINATE | SE-Protocol |
$4209 | 16905 | SE_CLOSE | SE-Protocol |
$4240 | 16960 | ES_INIT | SE-Protocol |
$4241 | 16961 | ES_OK | SE-Protocol |
$4242 | 16962 | ES_ACK | SE-Protocol |
$4243 | 16963 | ES_COMPILE | SE-Protocol |
$4244 | 16964 | ES_MAKE | SE-Protocol |
$4245 | 16965 | ES_MAKEALL | SE-Protocol |
$4246 | 16966 | ES_LINK | SE-Protocol |
$4247 | 16967 | ES_EXEC | SE-Protocol |
$4248 | 16968 | ES_MAKEEXEC | SE-Protocol |
$4249 | 16969 | ES_PROJECT | SE-Protocol |
$424a | 16970 | ES_QUIT | SE-Protocol |
$424b | 16971 | ES_SHLCTRL | SE-Protocol |
$4400 | 17408 | WM_DESTROY | WinDom |
$4401 | 17409 | WM_MNSELECTED | WinDom |
$4402 | 17410 | WM_FORM | WinDom |
$4403 | 17411 | AP_LOADCONF | WinDom |
$4404 | 17412 | AP_BUTTON | WinDom |
$4405 | 17413 | AP_KEYBD | WinDom |
$4410 | 17424 | AP_DEBUG | WinDom |
$4411 | 17425 | WM_UPLINE | WinDom |
$4412 | 17426 | WM_DNLINE | WinDom |
$4413 | 17427 | WM_LFLINE | WinDom |
$4414 | 17428 | WM_RTLINE | WinDom |
$4415 | 17429 | WM_UPPAGE | WinDom |
$4416 | 17430 | WM_DNPAGE | WinDom |
$4417 | 17431 | WM_LFPAGE | WinDom |
$4418 | 17432 | WM_RTPAGE | WinDom |
$4419 | 17433 | WM_PREREDRAW | WinDom |
$4511 | 17681 | eb_dump_capture_fullscreen | EB DUMP |
$4512 | 17682 | eb_dump_capture_window | EB DUMP |
$4513 | 17683 | eb_dump_capture_mouse | EB DUMP |
$4514 | 17684 | eb_dump_disable_selector | EB DUMP |
$4515 | 17685 | eb_dump_enable_selector | EB DUMP |
$4516 | 17686 | eb_dump_disable_windframe | EB DUMP |
$4517 | 17687 | eb_dump_enable_windframe | EB DUMP |
$4560 | 17760 | FILE_SELECTED | Freedom |
$4564 | 17764 | AF_DOALERT | Freedom Protocol |
$4565 | 17765 | FA_ALERTISOPEN | Freedom Protocol |
$4566 | 17766 | FA_ALERTDONE | Freedom Protocol |
$4567 | 17767 | AF_DOFSELECT | Freedom Protocol |
$4568 | 17768 | FA_FSELISOPEN | Freedom Protocol |
$4569 | 17769 | FA_FSELCLOSED | Freedom Protocol |
$4570 | 17776 | AF_CLOSEACK | Freedom Protocol |
$4571 | 17777 | AF_SENDREDRAW | Freedom Protocol |
$4600 | 17920 | BA_BUBBLE_REQUEST | Trouble Bubble |
$4601 | 17921 | AB_OPEN_BUBBLE | Trouble Bubble |
$4602 | 17922 | BA_BUBBLE_OPENED | Trouble Bubble |
$4603 | 17923 | AB_CLOSE_BUBBLE | Trouble Bubble |
$4604 | 17924 | BA_BUBBLE_CLOSED | Trouble Bubble |
$46ff | 18175 | THING_CMD | Thing |
$4700 | 18176 | AV_PROTOKOLL | AV Protocol |
$4701 | 18177 | VA_PROTOSTATUS | AV Protocol |
$4703 | 18179 | AV_GETSTATUS | AV Protocol |
$4704 | 18180 | AV_STATUS | AV Protocol |
$4705 | 18181 | VA_SETSTATUS | AV Protocol |
$4709 | 18185 | AV_SENDCLICK | AV Protocol |
$4710 | 18192 | AV_SENDKEY | AV Protocol |
$4711 | 18193 | VA_START | AV Protocol |
$4712 | 18194 | AV_ASKFILEFONT | AV Protocol |
$4713 | 18195 | VA_FILEFONT | AV Protocol |
$4714 | 18196 | AV_ASKCONFONT | AV Protocol |
$4715 | 18197 | VA_CONFONT | AV Protocol |
$4716 | 18198 | AV_ASKOBJECT | AV Protocol |
$4717 | 18199 | VA_OBJECT | AV Protocol |
$4718 | 18200 | AV_OPENCONSOLE | AV Protocol |
$4719 | 18201 | VA_CONSOLEOPEN | AV Protocol |
$4720 | 18208 | AV_OPENWIND | AV Protocol |
$4721 | 18209 | VA_WINDOPEN | AV Protocol |
$4722 | 18210 | AV_STARTPROG | AV Protocol |
$4723 | 18211 | VA_PROGSTART | AV Protocol |
$4724 | 18212 | AV_ACCWINDOPEN | AV Protocol |
$4725 | 18213 | VA_DRAGACCWIND | AV Protocol |
$4726 | 18214 | AV_ACCWINDCLOSED | AV Protocol |
$4728 | 18216 | AV_COPY_DRAGGED | AV Protocol |
$4729 | 18217 | VA_COPY_COMPLETE | AV Protocol |
$4730 | 18224 | AV_PATH_UPDATE | AV Protocol |
$4732 | 18226 | AV_WHAT_IZIT | AV Protocol |
$4733 | 18227 | VA_THAT_IZIT | AV Protocol |
$4734 | 18228 | AV_DRAG_ON_WINDOW | AV Protocol |
$4735 | 18229 | VA_DRAG_COMPLETE | AV Protocol |
$4736 | 18230 | AV_EXIT | AV Protocol |
$4738 | 18232 | AV_STARTED | AV Protocol |
$4739 | 18233 | VA_FONTCHANGED | AV Protocol |
$4740 | 18240 | AV_XWIND | AV Protocol |
$4741 | 18241 | VA_XOPEN | AV Protocol |
$4742 | 18242 | GB | GFA-Basic Editor |
$4751 | 18257 | AV_VIEW | AV Protocol |
$4752 | 18258 | VA_VIEWED | AV Protocol |
$4753 | 18259 | AV_FILEINFO | AV Protocol |
$4754 | 18260 | VA_FILECHANGED | AV Protocol |
$4755 | 18261 | AV_COPYFILE | AV Protocol |
$4756 | 18262 | VA_FILECOPIED | AV Protocol |
$4757 | 18263 | AV_DELFILE | AV Protocol |
$4758 | 18264 | VA_FILEDELETED | AV Protocol |
$4759 | 18265 | AV_SETWINDPOS | AV Protocol |
$475a | 18266 | GZ_PRIVATE | GSZRZ Z-Modem |
$4760 | 18272 | VA_PATH_UPDATE | AV Protocol |
$4790..$4799 | 18320..18329 | Mafia 2 | |
$4800 | 18432 | MP_ACK | Paula Protocol |
$4801 | 18433 | MP_NAK | Paula Protocol |
$4802 | 18434 | MP_START | Paula Protocol |
$4803 | 18435 | MP_STOP | Paula Protocol |
$4804 | 18436 | MP_SHUTDOWN | Paula Protocol |
$4888 | 18568 | SEND_TRACE | Tracer |
$4889 | 18569 | ANSWER_TRACE | Tracer |
$494D | 18765 | IM_COM | Imagine Grafikartentreiber IM_COL.ACC |
!index OLE_INIT | |||
!index OLE_EXIT | |||
!index OLE_NEW | |||
$4950 | 18768 | OLE_INIT | OLE Protocol |
$4950 | 18768 | IP_DIAL_REQUEST | Qdialer |
$4951 | 18769 | OLE_EXIT | OLE Protocol |
$4951 | 18769 | IP_DIAL_HANGUP | Qdialer |
$4952 | 18770 | OLE_NEW | OLE Protocol |
$4952 | 18770 | IP_DIAL_DONE | Qdialer |
$4953 | 18771 | IP_DIAL_ERROR | Qdialer |
$4954 | 18772 | IP_HANGUP_DONE | Qdialer |
$4955 | 18773 | IP_STATUS_GET | Qdialer |
$4b48 | 19272 | DA_KNOWHOW | |
$4c01 | 19457 | AT_PERGAMON | PEGASUS, SCHECKS, EVER, TARKUS |
$4c4a | 19530 | LDG_QUIT | LDG |
$4c4d | 19533 | LDG_LOST_LIB | LDG |
$4d00 | 19712 | MOD_OK | Tetrax |
$4d01 | 19713 | MOD_NAK | Tetrax |
$4d02 | 19714 | MOD_PLAY | Tetrax |
$4d03 | 19715 | MOD_STOP | Tetrax |
$4d04 | 19716 | MOD_LOAD | Tetrax |
$4d05 | 19717 | MOD_CLEAR | Tetrax |
$4d50 | 19762 | M_PLAYER | |
$4e20 | 20000 | VTX_GET_BIN_PAGE | Videotext Protocol |
$4e21 | 20001 | VTX_GET_ASCII_PAGE | Videotext Protocol |
$4e52 | 20050 | VTX_FOUND | Videotext Protocol |
$4e53 | 20051 | VTX_NOTFOUND | Videotext Protocol |
$4e54 | 20052 | VTX_PROCESSKILLED | Videotext Protocol |
$4e55 | 20053 | VTX_TERM | Videotext Protocol |
$4f4d | 20301 | M_ASKVAR | Interface |
$4f4e | 20302 | M_SENDVAR | Interface |
$5000 | 20480 | PDF_AV_OPEN_FILE | MyPDF |
$5001 | 20481 | PDF_AV_CLOSE_FILE | MyPDF |
$5002 | 20482 | PDF_AV_PRINT_FILE | MyPDF |
$5003 | 20483 | PDF_AV_FIND_WORD | MyPDF |
$5004 | 20484 | PDF_AV_SHOW_INFO | MyPDF |
$5005 | 20485 | PDF_AV_GET_INFO | MyPDF |
$5010 | 20496 | MYTASK_START | MyTask |
$5011 | 20497 | MYTASK_NEW_COLOR | MyTask |
$5012 | 20498 | MYTASK_NEW_ICON | MyTask |
$5013 | 20499 | MYTASK_DELETE_ICON | MyTask |
$5014 | 20500 | MYTASK_ICON_CLICK | MyTask |
$5015 | 20501 | MYTASK_BUTTON | MyTask |
$5016 | 20502 | MYTASK_NEW_WINDOW | MyTask |
$5017 | 20503 | MYTASK_NAME | MyTask |
$5018 | 20504 | MYTASK_GET_SIZE | MyTask |
$5019 | 20505 | MYTASK_BUBBLE_CHANGE | MyTask |
$501a | 20506 | MYTASK_ICON_ERROR | MyTask |
$501b | 20507 | MYTASK_CHANGED_OPTIONS | MyTask |
$501c | 20508 | MYTASK_SEND_OPTIONS | MyTask |
$5208 | 21000 | OEP_OK | Object Exchange Protocol (OEP) |
$5209 | 21001 | OEP_CONFIG | Object Exchange Protocol (OEP) |
$520a | 21002 | OEP_INFO | Object Exchange Protocol (OEP) |
$520b | 21003 | OEP_LINK | Object Exchange Protocol (OEP) |
$520c | 21004 | OEP_RES | Object Exchange Protocol (OEP) |
$520d | 21005 | OEP_UPDATE | Object Exchange Protocol (OEP) |
$520e | 21006 | OEP_DATA | Object Exchange Protocol (OEP) |
$520f | 21007 | OEP_CHANGED | Object Exchange Protocol (OEP) |
$5210 | 21008 | OEP_SERVJOB | Object Exchange Protocol (OEP) |
$5211 | 21009 | OEP_TAKEOVER | Object Exchange Protocol (OEP) |
$5212 | 21010 | OEP_RES0 | Object Exchange Protocol (OEP) |
$5213 | 21011 | OEP_RES1 | Object Exchange Protocol (OEP) |
$5214 | 21012 | OEP_RES2 | Object Exchange Protocol (OEP) |
$5215 | 21013 | OEP_RES3 | Object Exchange Protocol (OEP) |
$5216 | 21014 | OEP_RES4 | Object Exchange Protocol (OEP) |
$5217 | 21015 | OEP_RES5 | Object Exchange Protocol (OEP) |
$5218 | 21016 | OEP_RES6 | Object Exchange Protocol (OEP) |
$5219 | 21017 | OEP_RES7 | Object Exchange Protocol (OEP) |
$521a | 21018 | OEP_RES8 | Object Exchange Protocol (OEP) |
$521b | 21019 | OEP_RES9 | Object Exchange Protocol (OEP) |
$5300 | 21248 | SRTY_SETUP | Security |
$5301 | 21249 | SRTY_GETDEVS | Security |
$5302 | 21250 | SRTY_DEVSTAT | Security |
$5343 | 21315 | SH_CHANGED | IFormats-CPXe |
$5346 | 21318 | STarFax | |
$5354 | 21332 | XaAESnap | |
$5600 | 22016 | VIEW_FILE | View Protocol |
$5601 | 22017 | VIEW_FAILED | View Protocol |
$5602 | 22018 | VIEW_OPEN | View Protocol |
$5603 | 22019 | VIEW_CLOSED | View Protocol |
$5604 | 22020 | VIEW_DATA | View Protocol |
$5610 | 22032 | VIEW_GETMFDB | View Protocol |
$5611 | 22033 | VIEW_SETMFDB | View Protocol |
$5612 | 22034 | VIEW_MFDB | View Protocol |
$5613..$56ff | 22035..22271 | reserved | View Protocol |
$5646 | 22086 | ViewFax | |
$5758 | 22360 | WM_SHADED | WINX |
$5759 | 22361 | WM_UNSHADED | WINX |
$6368 | 25448 | CHTW_MSG | Chatwin |
$6400 | 25600 | che_exist | CHEMCALC |
$6401 | 25601 | mes_ack | CHEMCALC |
$6403 | 25603 | set_modus | CHEMCALC |
$6411 | 25617 | app_exit | CHEMCALC |
$6414 | 25620 | get_menu_point | CHEMCALC |
$6415 | 25621 | send_menu_point | CHEMCALC |
$6420 | 25632 | request_file_ext | CHEMCALC |
$6421 | 25633 | send_file_ext | CHEMCALC |
$64ff | 25855 | error | CHEMCALC |
$6502 | 25858 | request_float | CHEMCALC |
$6503 | 25859 | send_float | CHEMCALC |
$6602 | 26114 | request_text | CHEMCALC |
$6603 | 26115 | send_text | CHEMCALC |
$6666 | 26214 | LOAD_FILE | Porthos |
$6667 | 26215 | READ_Header | Porthos |
$6668 | 26216 | READ_CATALOG | Porthos |
$6669 | 26217 | CHG_PAGE | Porthos |
$666a | 26218 | LOOK_PAGE | Porthos |
$666b | 26219 | SAVE_REG | Porthos |
$666c | 26220 | SEND_IMG | Porthos |
$666d | 26221 | WRK_NAVIG | Porthos |
$6702 | 26370 | decl_text | CHEMCALC |
$6704 | 26372 | send_decltext | CHEMCALC |
$6705 | 26373 | send_declfloat | CHEMCALC |
$7407 | 29703 | GEMJING_RETURN | GEMJing |
$78f1 | 30961 | WinChangeFont | TrueMagic |
$78f2..$7917 | 30962..30999 | TrueMagic | |
$7996 | 31126 | AES_Load | |
$7a00 | 31232 | OBJC_EDITED | EnhancedGEM |
$7a01 | 31233 | CURSOR_INIT | EnhancedGEM |
$7a02 | 31234 | OBJC_CHANGED | EnhancedGEM |
$7a03 | 31235 | OBJC_SIZED | EnhancedGEM |
$7a04 | 31236 | OBJC_DRAGGED | EnhancedGEM |
$7a05 | 31237 | MENU_INIT | EnhancedGEM |
$7a06 | 31238 | MOUSE_INIT | EnhancedGEM |
$7a08 | 31239 | POPUP_CHANGED | EnhancedGEM |
$7a08 | 31240 | SLIDER_CHANGED | EnhancedGEM |
$7a10 | 31248 | XACC_AV_INIT | EnhancedGEM |
$7a11 | 31249 | XACC_AV_EXIT | EnhancedGEM |
$7a12 | 31250 | XACC_AV_CLOSE | EnhancedGEM |
$7a13..$7a17 | 31251..31255 | EnhancedGEM | |
$7a18 | 31256 | FONT_CHANGED | Font Protocol |
$7a19 | 31257 | FONT_SELECT | Font Protocol |
$7a1a | 31258 | FONT_ACK | Font Protocol |
$7a1b | 31259 | XFONT_CHANGED | Font Protocol |
$7a1c..$7a1f | 31260..31263 | EnhancedGEM | |
$7a20 | 31264 | WIN_CHANGED | EnhancedGEM |
$7a21 | 31265 | WIN_SCROLLED | EnhancedGEM |
$7a22 | 31266 | WIN_TOPPED | EnhancedGEM |
$7a23 | 31267 | WIN_CLOSED | EnhancedGEM |
$7a24 | 31268 | WIN_VSLSIZE | EnhancedGEM |
$7a25 | 31269 | WIN_HSLSIZE | EnhancedGEM |
$7a26 | 31270 | WIN_NAME | EnhancedGEM |
$7a27 | 31271 | WIN_INFO | EnhancedGEM |
$7a28 | 31272 | WIN_HSLIDE | EnhancedGEM |
$7a29 | 31273 | WIN_VSLIDE | EnhancedGEM |
$7a2a | 31274 | WIN_SIZED | EnhancedGEM |
$7a2b | 31275 | WIN_NEWTOP | EnhancedGEM |
$7a2c..$7a4f | 31276..31311 | EnhancedGEM | |
$8000 | 32768 | CatMsg | CAT |
$8001 | 32769 | ExtCatMsg | CAT |
$8003 | 32771 | CatProtoMsg | CAT |
$9277 | 37495 | Suji, nur intern | |
$9993 | 39315 | RC_ROTATE | Route It! / Circu It! |
$9995 | 39317 | RC_MOVE | Route It! / Circu It! |
$9996 | 39318 | RC_UNDO | Route It! / Circu It! |
$9997 | 39319 | CR_REDRAW | Route It! / Circu It! |
$9998 | 39320 | CR_PARA | Route It! / Circu It! |
$9999 | 39321 | RC_SENDPARA | Route It! / Circu It! |
$9a00 | 39424 | WR_REC | WinRec |
$9a01 | 39425 | WR_STOP | WinRec |
$9a02 | 39426 | WR_PLAY | WinRec |
$9a03 | 39427 | WR_TIME | WinRec |
$a081 | 41089 | QFax/Pro | |
$baba | 47802 | BUBBLEGEM_REQUEST | BubbleGEM |
$babb | 47803 | BUBBLEGEM_SHOW | BubbleGEM |
$babc | 47804 | BUBBLEGEM_ACK | BubbleGEM |
$babd | 47805 | BUBBLEGEM_ASKFONT | BubbleGEM |
$babe | 47806 | BUBBLEGEM_FONT | BubbleGEM |
$babf | 47807 | BUBBLEGEM_HIDE | BubbleGEM |
!index COLOR_RGB | |||
$c010 | 49168 | COLOR_ID | Color-Drag&Drop |
$c011 | 49169 | COLOR_RGB | Color-Drag&Drop |
$cab0 | 51888 | CAB_CHANGED | CAB Protocol |
$cab1 | 51889 | CAB_EXIT | CAB Protocol |
$cab2 | 51890 | CAB_PATH | CAB Protocol |
$cab3 | 51891 | CAB_VIEW | CAB Protocol |
$cab4 | 51892 | CAB_TERM | CAB Protocol |
$cab5 | 51893 | CAB_REQUESTSTATUS | CAB Protocol |
$cab6 | 51894 | CAB_RELEASESTATUS | CAB Protocol |
$cab7 | 51895 | CAB_STATUS | CAB Protocol |
$cab8 | 51896 | CAB_HELLO | CAB Protocol |
$cab9 | 51897 | CAB_MAIL | CAB Protocol |
$caba | 51898 | CAB_MAILSENT | CAB Protocol |
$cabb | 51899 | CAB_MAILSENT | CAB Protocol |
$cabc..$cabf | 51900..51903 | CAB Protocol | |
$cc00..$cc7f | 52224..52351 | CYBSMASH_Request_xxx | Cybersmash |
$cc80..$ccff | 52352..52479 | CYBSMASH_Reply_xxx | Cybersmash |
$cc60 | 52320 | MSG_CT60_TEMP | CT60-CPX |
$dadd | 56029 | DHST_ADD | Document History Protocol |
$dade | 56030 | DHST_ACK | Document History Protocol |
$de00..$de7f | 56832..56959 | DEGAS_Request_xxx | Degas |
$de80..$deff | 56960..57087 | DEGAS_Reply_xxx | Degas |
$e000 | 57344 | X_MN_SELECTED | Geneva |
$e100 | 57600 | X_WM_SELECTED | Geneva |
$e200 | 57856 | X_GET_HELP | Geneva |
$e400 | 58368 | X_WM_HSPLIT | Geneva |
$e600 | 58880 | X_WM_ARROWED2 | Geneva |
$e700 | 59136 | X_WM_HSLID2 | Geneva |
$e800 | 59392 | X_WM_VSLID2 | Geneva |
$e900 | 59648 | X_WM_OBJECT | Geneva |
$ea00 | 59904 | X_WM_VECKEY | Geneva Release 004 |
$ea01 | 59905 | X_WM_VECSW | Geneva Release 004 |
$ea02 | 59906 | X_WM_VECEVNT | Geneva Release 004 |
$ed00 | 60672 | ED_HELLO | STeno |
$ed01 | 60673 | ED_OPEN | STeno |
$ed02 | 60674 | ED_BYE | STeno |
$ed10 | 60688 | ED_LOADF | STeno |
$ed11 | 60676 | ED_NEW | STeno |
$ed12 | 60677 | ED_SAVEF | STeno |
$ed14 | 60692 | ED_CUT | STeno |
$ed15 | 60693 | ED_COPY | STeno |
$ed16 | 60694 | ED_PASTE | STeno |
$ed17 | 60695 | ED_DELETE | STeno |
$ed18 | 60696 | ED_FIND | STeno |
$ed19 | 60697 | ED_CHANGE | STeno |
$ed1a | 60698 | ED_PRINT | STeno |
$ed1d | 60701 | ED_LINE | STeno |
$ed1e | 60702 | ED_READ | STeno |
$ed1f | 60703 | ED_INQINF | STeno |
$ed30 | 60720 | ED_DCLICK | STeno |
$ed31 | 60721 | ED_SELECT | STeno |
$ed40 | 60736 | ED_MLOAD | STeno |
$ed41 | 60737 | ED_MNEW | STeno |
$ed42 | 60738 | ED_MSAVE | STeno |
$ed50 | 60752 | ED_CLOSE | STeno |
$ed51 | 60753 | ED_UNDOK | STeno |
$ed80 | 60800 | ED_REPLY (Answer to ED_HELLO) | STeno |
$ed9f | 60831 | Answer of ED_INQINF | STeno |
$f3d0 | 62416 | F3D_INIT | Focus 3D |
$f3d1 | 62417 | F3D_EXIT | Focus 3D |
$f3d2 | 62418 | F3D_REQUEST | Focus 3D |
$f3d3 | 62419 | F3D_RETURN | Focus 3D |
$f3d4..$f3df | 62420..62431 | reserviert | Focus 3D |
$f825 | 63525 | Answer of MSG_ENABLE | STalker |
-2011 | |||
$f826 | 63526 | Answer of MSG_EXECUTE_SCRIPT | STalker |
-2010 | |||
$f827 | 63527 | Answer of MSG_KEYSTROKE | STalker |
-2009 | |||
$f828 | 63528 | Answer of MSG_SENSTRING | STalker |
-2008 | |||
$f829 | 63529 | Answer of MSG_RESOURCE | STalker |
-2007 | |||
$f82a | 63530 | Answer of MSG_BUFFER | STalker |
-2006 | |||
$f82b | 63531 | Answer of MSG_CONFIG | STalker |
-2005 | |||
$f82c | 63532 | Answer of MSG_INFO | STalker |
-2004 | |||
$f82d | 63533 | Answer of MSG_DISPLAY | STalker |
-2003 | |||
$f82e | 63534 | Answer of MSG_WAKE | STalker |
-2002 | |||
$f82f | 63535 | Answer of MSG_SLEEP | STalker |
-2001 | |||
$f830 | 63536 | Answer of MSG_IDENTIFY | STalker |
-2000 | |||
$fff0 | 65520 | XMESSAGE | XMSG - Message Server |
$fff1 | 65521 | XMSG_ASK | XMSG - Message Server |
$fff2 | 65522 | XMSG_OK | XMSG - Message Server |
Das CAB-Protokoll besteht aus einer Reihe von AES-Messages mit deren Hilfe beliebige GEM-Programme bestimmte Aufgaben an CAB übertragen können, bzw. bestimmte Aktionen mit CAB koordinieren können.
Der Inhalt der Environment-Variablen BROWSER= (sofern definiert) enthält den Zugriffspfad von CAB. Sollte sich CAB nicht im Speicher befinden kann ein Programm über diese Variable CAB selbst nachstarten.
Eine mögliche Anwendung: Falls man im Internet weitere aktuelle Informationen oder Updates zu eigenen Programmen anbietet, könnte man mit dem CAB-Protokoll ohne großen Aufwand den Zugriff auf diese Informationen aus diesen Programmen heraus ermöglichen. CAB erledigt dann den Download der Daten und die Darstellung.
Die Beschreibung der Messages
CAB_HELLO (0xCAB8) (Nachricht von CAB)
CAB verschickt nach seinem Start an alle laufenden Programme diese
Nachricht
msg[0] = 0xCAB8 msg[1] = Id von CAB msg[2] = 0 msg[3] = Version des CAB-Protokolls (0x0100 entspricht V1.00) msg[4] = Bitvektor mit den von CAB (CAB.OVL) unterstützten Internet- Protokollen Bit 0: HTTP Bit 1: FTP Bit 2: GOPHER Bit 3: WAIS Bit 4: MAILTO Bit 5: NNTP Bit 6: TELNET Bit 7-15: 0 (reserviert) msg[5] = Bitvektor mit den von CAB unterstützten Nachrichten des CAB-Protokolls. Bit 0: CAB_VIEW Bit 1: CAB_MAIL, CAB_MAILSENT Bit 2: CAB_REQUESTSTATUS, CAB_RELEASESTATUS, CAB_STATUS, CAB_EXIT Bit 3-15: 0 (reserviert) msg[6] = 0 msg[7] = 0
CAB_SUPPORT (0xCABB) (Nachricht an CAB)
Wird diese Nachricht an CAB geschickt, sendet CAB die Nachricht
CAB_HELLO zurück. Bleibt CAB_HELLO aus, wird noch eine alte Version
von CAB benutzt welche das CAB-Protokoll noch nicht unterstützt. Alle
Programme, die an den Informationen interessiert sind, die CAB_HELLO
liefert, sollten nach dem Start CAB_SUPPORT an CAB senden. Wird CAB
erst später gestartet, wird CAB_HELLO automatisch an das Programm
geschickt.
msg[0] = 0xCABB msg[1] = Id des PRGs msg[2] = 0 msg[3] = 0 msg[4] = 0 msg[5] = 0 msg[6] = 0 msg[7] = 0
CAB_VIEW (0xCAB3) (Nachricht an CAB)
Ähnlich wie VA_START aber statt eines Dateinamens wird eine URL
übergeben. CAB zeigt diese Datei dann an.
msg[0] = 0xCAB3 msg[1] = Id des PRGs msg[2] = 0 msg[3] = \ Zeiger auf die URL msg[4] = / msg[5] = Wenn hier 1 eingetragen wurde, stellt CAB die URL in einem neuen Fenster dar, wenn 0 eingetragen wurde wird das oberste CAB- Fenster benutzt. msg[6] = 0 msg[7] = 0
CAB_REQUESTSTATUS (0xCAB5) (Nachricht an CAB)
Kann an CAB geschickt werden, um zu erfahren ob CAB zur Zeit
online oder offline ist. CAB schickt daraufhin bei jeder Änderung des
On-/Offline- Statuses die Message CAB_STATUS.
msg[0] = 0xCAB5 msg[1] = Id des PRGs msg[2] = 0 msg[3] = 0 msg[4] = 0 msg[5] = 0 msg[6] = 0 msg[7] = 0
CAB_RELEASESTATUS (0xCAB7) (Nachricht an CAB)
Sollte an CAB geschickt werden, wenn ein Programm nicht mehr an
den on/offline- Informationen interessiert ist, die mit
CAB_REQUESTSTATUS angefordert wurden (z.B. weil es sich beendet).
msg[0] = 0xCAB7 msg[1] = Id des PRGs msg[2] = 0 msg[3] = 0 msg[4] = 0 msg[5] = 0 msg[6] = 0 msg[7] = 0
CAB_STATUS (0xCAB6) (Nachricht von CAB)
Wird von CAB an alle Programme verschickt, die sich mit
CAB_REQUESTSTATUS angemeldet haben.
msg[0] = 0xCAB6 msg[1] = Id von CAB msg[2] = 0 msg[3] = 1 falls CAB online; 0 falls CAB offline. msg[4] = 0 msg[5] = 0 msg[6] = 0 msg[7] = 0
CAB_EXIT (0xCAB1) (Nachricht von CAB)
Wird von CAB an alle Programme geschickt, die sich mit
CAB_REQUESTSTATUS angemeldet haben, sobald sich CAB beendet. Vorher
wird auch noch ein CAB_STATUS gesendet, in dem der offline-Zustand
gemeldet wird.
msg[0] = 0xCAB1 msg[1] = Id von CAB msg[2] = 0 msg[3] = 0 msg[4] = 0 msg[5] = 0 msg[6] = 0 msg[7] = 0
CAB_MAIL (0xCAB9) (Nachricht an CAB)
Kann an CAB geschickt werden, um Mails zu verschicken.
msg[0] = 0xCAB9 msg[1] = Id des PRGs msg[2] = 0 msg[3] = \ Zeiger auf die URL. Ein 'Betreff' (Subject) kann, durch ein msg[4] = / Fragezeichen getrennt, direkt an die URL gehängt werden. msg[5] = \ Zeiger auf eine Datei, die den Mailinhalt enthält oder msg[6] = / null (dann öffnet CAB einen Editor, in dem die Mail eingegeben wird). msg[7] = Bitvektor mit weiteren Optionen. Bit 0: 0 falls die Maildatei sofort verschickt werden soll, oder 1 falls die Maildatei vom Benutzer noch in CAB bearbeitet/geändert werden soll. Bit 1: bei 1 wird die Maildatei gelöscht, nachdem sie verschickt wurde, bei 0 bleibt sie erhalten. Bit 2-15: 0 (reserviert)
CAB_MAILSENT (0xCABA) (Nachricht von CAB)
Wird von CAB an das Programm geschickt, welches CAB_MAIL gesendet
hat und enthält Informationen, ob das Verschicken der Mail geklappt
hat oder nicht.
msg[0] = 0xCABA msg[1] = Id von CAB msg[2] = 0 msg[3] = 1 falls die Mail ohne Fehler verschickt wurde; 0 bei Fehler (in diesem Fall ist in msg[4] die Fehlerursache zu erfahren). msg[4] = Enthält eine Fehlernummer, falls msg[3]=0 0: Keine URL angegeben. 1: Offline, Netzverbindung gestört, Server nicht erreichbar. 2: Benutzer hat Aktion abgebrochen (Falls die Mail in CAB bearbeitet werden sollte, hat der Benutzer die Möglichkeit die Aktion abzubrechen) 3: GEMDOS-Fehler beim Zugriff auf die Maildatei. 4: Editor zum Bearbeiten konnte nicht aufgerufen werden. msg[5] = 0 msg[6] = 0 msg[7] = 0
Spezielle Messages für 'Cache-Tools'
CAB_CHANGED (0xCAB0) (Nachricht an/von CAB)
Der Cache (bzw. CACHE.CAB) wurde verändert und soll neu
eingelesen werden.
msg[0] = 0xCAB0 msg[1] = Id von CAB/des PRGs msg[2] = 0 msg[3] = 0 msg[4] = 0 msg[5] = 0 msg[6] = 0 msg[7] = 0
CAB_EXIT (0xCAB1) (Nachricht an/von CAB)
CAB oder das Cache-Tool beendet sich (als Info für das jeweils
andere PRG)
msg[0] = 0xCAB1 msg[1] = Id von CAB/des PRGs msg[2] = 0 msg[3] = 0 msg[4] = 0 msg[5] = 0 msg[6] = 0 msg[7] = 0
CAB_PATH (0xCAB2) (Nachricht von CAB)
Die lokalen HTML-Verzeichnisse und/oder das Cache-Verzeichnis
wurde geändert. Nähere Infos sind in der Cache-Tools-Dokumentation
zu erfahren.
msg[0] = 0xCAB2 msg[1] = Id von CAB msg[2] = 0 msg[3] = 0 msg[4] = 0 msg[5] = 0 msg[6] = 0 msg[7] = 0
CAB_TERM (0xCAB4) (Nachricht von CAB)
Das Cache-Tool soll sich beenden.
msg[0] = 0xCAB4 msg[1] = Id von CAB msg[2] = 0 msg[3] = 0 msg[4] = 0 msg[5] = 0 msg[6] = 0 msg[7] = 0
This message is either accompanied by the MU_MESAG bit of an
evnt_multi return, or is returned by the evnt_mesag call. When this
message occurs, the message buffer contains:
Portion | Contents |
msg[0] | 0xE000 |
msg[3] | The object index of the menu title selected |
msg[4] | The object index of the selected menu item |
msg[5], [6] | The object tree of the menu item selected |
msg[7] | The handle of the window containing the menu |
This message is received when the user clicks on a window gadget
in a window whose flags were modified with the wind_tree function. It
only occurs when the X_WTFL_CLICKS attribute is off. If the user
clicks on one of the normal scroll gadgets or arrows, a standard
WM_ARROWED message is sent to the application. However, when the user
clicks on any other gadget, an X_WM_SELECTED message is sent:
Portion | Contents |
msg[0] | 0xE100 |
msg[3] | The handle of the window containing the gadget |
msg[4] | The object index of the window tree object the user |
clicked on |
This message is sent to the Help display program when the user
requests help on a certain topic. The message is actually comprised of
two parts. When the application sees the X_GET_HELP message, it must
then use the appl_read function to get the entire remainder of the
message, whether it intends to use the whole thing or not. The first
part of the message is comprised of the following values:
Portion | Contents |
msg[0] | 0xE200 |
msg[1] | Application ID |
msg[2] | Length of the second part ofthe message |
msg[3] | Length of the topic portion of the message, including |
the NUL terminator | |
msg[4] | Length of the filename portion of the message, including |
the NUL terminator | |
msg[5] | Upper/lowercase sensitivity. If non-zero, the topic is |
case-sensitive. |
void read_string( char *s, int max, int size ) { char dummy; if( size<=max ) /* the whole string fits */ appl_read( my_application_id, size, s ); else { /* read what we can */ appl_read( my_application_id, max-1, s); s[max-1] = '\0'; /* terminate the string */ /* now, get the remaining bytes of the string */ for( size=size-(max-1); size>0; size-- ) appl_read( my_application_id, 1, &dummy ); } } main() { int msg[8], caps_sens; char topic[20], filename[100]; evnt_mesag( msg ); switch( msg[0] ) { case X_GET_HELP: caps_sens = msg[5]; /* Read the topic portion */ read_string( topic, sizeof(topic), msg[3] ); /* Read the filename portion */ read_string( filename, sizeof(filename). msg[4] ); /* Do whatever with it... */
This message is sent to an application when the position of the
horizontal split bar has changed:
Portion | Contents |
msg[0] | 0xE400 |
msg[1] | Application ID |
msg[2] | 0 |
msg[3] | Handle of the window being affected |
msg[4] | The new offset (in pixels) of the split bar |
This message is sent to an application when the user has licked on
one of the arrow or scroll bar gadgets which are not reported by the
normal WM_ARROWED message. X_WM_ARROWED2 reports changes in gadgets
which are below a vertical split bar and/or to the right of a
horizontal split bar. The format of a X_WM_ARROWED2 message is
identical to that of WM_ARROWED.
See the x_wind_create function for more information.
This message is sent to an application when the user has dragged
the second horizontal scroll gadget, which appears to the right of a
horizontal split bar. The format of this message is identical to that
of WM_HSLID.
See the x_wind_create function for more information.
This message is sent to an application when the user has dragged
the second vertical scroll gadget, which appears below a vertical
split bar. The format of this message is identical to that of
WM_VSLID.
See the x_wind_create function for more information.
This message type is returned to an application when it uses
wind_set mode X_WF_OBJHAND to affect the manner in which window
gadgets are handled.
If an application receives this message, it is because the
object tree handler routine instructed Geneva not to process the mouse
click on a window gadget as a normal event. Instead, a special message
is returned to the application:
Portion | Contents |
msg[0] | 0xE900 |
msg[1] | Application ID |
msg[2] | 0 |
msg[3] | Handle of the window containing the object |
msg[4] | Object tree index of the object which was clicked |
Der RSDAEMON ist eine parallel laufende Applikation, die die Aufgabe des Resolvers per AES-Message übernimmt. Sinn ist quasi ein nichtblockierendes gethostbyname(), allerdings liefert der RSDAEMON nur eine IP, kein ganzes hostent-struct.
Der RSDAEMON wird normalerweise automatisch von IConnect gestartet und beendet.
Nutzung:
Per appl_find("RSDAEMON") ist die App-ID zu ermitteln. Im Fehlerfall sollte man auf das blockierende gethostbyname() zurückgreifen und nur, wenn garnicht anders möglich, stattdessen mit Fehlermeldung abbrechen.
Nun kann dem RSDAEMON eine AES-Message geschickt werden:
#include <rsdaemon.h> pbuf[0]=RSDAEMON_MSG pbuf[1]=<eigene App-ID> pbuf[2]=0 pbuf[3]=RSD_REQUEST_IP pbuf[4]=<eigene frei wählbare ID, um die Antwort zuordnen zu können> pbuf[5/6]=<Zeiger auf den String, der den Namen des Hosts enthält> (Ggf. Speicherschutz beachten!) Der RSDAEMON liefert eine Antwort folgender Form: pbuf[0]=RSDAEMON_MSG pbuf[1]=<RSDAEMON-ID> pbuf[2]=0 pbuf[3]=RSD_IP_UNKNOWN = IP konnte nicht ermittelt werden. Das kann verschiedene Ursachen haben (User hat keinen DNS eingetragen, DNS kenn den Host nicht etc.) pbuf[4]=<hier wird die ID aus dem Request zurückgeliefert> oder: pbuf[3]=RSD_IP_FOUND pbuf[4]=<hier wird die ID aus dem Request zurückgeliefert> pbuf[5/6]=<IP des Hosts als ulong>
Und hier noch die RSDAEMON.H:
#ifndef __RSDAEMON__ #define __RSDAEMON__ #define RSDAEMON_MSG 0x995 #define RSD_REQUEST_IP 1 #define RSD_IP_FOUND 2 #define RSD_IP_UNKNOWN 3 #endif