home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 11 Util
/
11-Util.zip
/
sndys200.zip
/
sndysger.inf
(
.txt
)
< prev
next >
Wrap
OS/2 Help File
|
1996-03-01
|
76KB
|
2,306 lines
═══ 1. SendYes! Ъberblick ═══
SendYes! V2.0
Sind Sie jemals diese Meldungsdialoge leid gewesen, die Sie nicht unterdrБcken
kФnnen ? Gehen Ihnen auch die Sicherheitsabfragen auf die Nerven, die beim
Schlieсen jeder Textsitzung erscheinen ?
Benutzen Sie nun SendYes!, um auf Standard-Meldungsdialoge automatisch zu
reagieren.
Wes Santee, Author von SendYes! V1.00:
"Ich schrieb SendYes!, weil ich es haсte, beim Systemabschluс immer den
Ja-Knopf zu drБcken, um jede einzelne Textsitzung zu schlieсen, die noch offen
war."
SendYes! ist ein kleines Programm, welches auf das Erscheinen von
Meldungsdialogen wartet und prБft, ob einer erscheint, dessen Meldungstext mit
einem der Meldungstexte Бbereinstimmt, die in SendYes! definiert sind. Wenn
dies der Fall ist, wird eine benutzerdefinierte Aktion auf einen vom Benutzer
ausgewДhlten Druckknopf ausgefБhrt. MФgliche Aktionen sind: DrБcken des
Knopfes, den Druckknopf als Standardknopf setzen oder den Druckknopf zu
deaktivieren.
Die Definition eines Meldungstextes zusammen mit einer Aktion wird als
Aktionsprofil in SendYes! gespeichert. Es kФnnen beliebig viele Aktionsprofile
angelegt werden.
Vorherige Versionen von SendYes! dienten dazu, ausschlieсlich Meldungsdialoge
zum Schlieсen von Textsitzungen zu unterdrБcken. Dies wurde dadurch erreicht,
indem eine PM Meldung an den Ja-Druckknopf gesendet wurde, daс er gedrБckt
wird, daher bekam das Programm seinen Namen.
Diese Funktion als eine Untermenge der aktuellen FunktionalitДt wird durch
vordefinierte Aktionsprofile unterstБtzt. Wenn diese Aktionsprofile aktiviert
werden, schlieсt SendYes! wie in den vorherigen Versionen die Meldungsdialoge
zum Schlieсen von Textsitzungen automatisch.
ΓòÉΓòÉΓòÉ 2. Voraussetzungen ΓòÉΓòÉΓòÉ
SendYes! wurde unter OS/2 V2.11 und OS/2 Warp 3.0 getestet, ob es
Meldungsdialoge erkennen und automatisch bearbeiten kann. Dazu werden einige
Ressource-IDs verwendet, die den Meldungstext und das Symbol im
Standard-Meldungsdialog betreffen. Wenn diese Ressource-IDs sich in zukБnftigen
OS/2 Versionen Дndern sollten, wird SendYes! nicht mehr funktionieren und muс
an die neue Version angepasst werden. Allerdings sind diese IDs bisher immer
gleich geblieben ...
Auсerdem liest SendYes! den Meldungstext fБr einige vordefinierte
Aktionsprofile aus PM Ressource-DLLs. Wenn diese IDs sich Дndern, werden die
vordefinierten Aktionsprofile nicht lДnger die richtigen Meldungstexte
enthalten und nicht mehr funktionieren. Allerdings kФnnen neue Aktionsprofile
selbst erstellt werden, die anstelle der vordefinierten Aktionsprofile die
betroffenen Meldungsdialoge automatisch schlieсen.
FБr weitere Informationen Бber vordefinierten Aktionsprofile und wie man testen
kann, ob sie funktionieren, siehe auch
vordefinierte Aktionsprofile
ΓòÉΓòÉΓòÉ 3. Das SendYes! Paket ΓòÉΓòÉΓòÉ
Das SendYes! Paket enthДlt die folgenden Dateien:
readme.cmd zeigt den "SendYes! Ъberblick" deser INF Datei
install.cmd ruft das Installationsprogramm auf
sendyes.exe die GUI Programmdatei
sndyshk.bin die Hook Programmdatei
sndysdll.dll die Hook DLL
sndyseng.dll englische Resourcenbibliothek
sndyseng.hlp englische Hilfedatei
sndyseng.inf englisches Online Buch
sndysger.dll deutsche Resourcenbibliothek
sndysger.hlp deutsche Hilfedatei
sndysger.inf deutsches Online Buch
nlssrc.zip zip Datei, die die Quelldateien fБr den
National Language Support enthДlt
install\install.cmd Installationsprogramm fБr die SendYes! WPS Programmobjekte
install\remove.cmd Deinstallationsprogramm fБr die IDH_IDPNL_USAGE_WPSOBJ.
install\sndyseng.msg englische Installations-Meldungsdatei
install\sndysger.msg deutsche Installations-Meldungsdatei
install\*.ico Icons, die vom Installations- und Deinstallationsprogramm verwendet werden
Anmerkung:
Die Dateien fБr die UnterstБtzung von Sprachen, die nicht von SendYes!
benutzt werden sollen, kФnnen gelФscht werden.
ΓòÉΓòÉΓòÉ 4. Copyright & Co. ΓòÉΓòÉΓòÉ
Copyright
generelle Lizenz
Shareware Lizenz
GewДhrleistungsausschluс
ΓòÉΓòÉΓòÉ 4.1. Copyright ΓòÉΓòÉΓòÉ
SendYes! Copyright (C) Christian Langanke 1996
Sie kФnnen Ihre Anmerkungen/VorschlДge via internet e-mail an den Author
senden.
Richten Sie Ihr e-mail an cla@oerag.de
ΓòÉΓòÉΓòÉ 4.2. generelle Lizenz ΓòÉΓòÉΓòÉ
SendYes! ist freie Software (freeware) fБr nichtkommerziellen Gebrauch und
shareware fБr den Gebrauch in kommerziell genutzten Umgebungen.
Sie kФnnen SENDYES frei verwenden, solange
SENDYES in einer nicht kommerziellen Umgebung eigesetzt wird
Sie dБrfen SendYes! beliebig weitergeben, solange
SendYes! oder Teile davon nicht als Teil eines anderen Programmes
verkauft werden
bis auf die Kosten fБr Ъbertragungsmedien keine GebБhren fБr das Programm
erhoben werden
das komplette Paket unverДndert weitergegeben wird
Sie mir Бber e-mail mitteilen, ob und warum Sie das Prgramm mФgen (oder
auch nicht) und/oder mit VorschlДgen zur weiteren Verbesserungen
Ich wБrde besonders gerne von Ihnen hФren, wenn Sie mir dabei helfen
wollen, Ihre Sprache durch SendYes! unterstБtzen zu kФnnen, so dies noch
nicht geschieht.
Siehe auch
National Language Support
ΓòÉΓòÉΓòÉ 4.3. Shareware Lizenz ΓòÉΓòÉΓòÉ
Sie dБrfen SendYes! in einer kommerziell genutzten Umgebung nur dann verwenden,
wenn Sie zusДtzlich zu den Bestimmungen der generellen Lizenz folgende
Bedingungen befolgen:
Wenn Sie SendYes! Бber eine Probezeit von 30 Tagen hinaus
weiterverwenden, registrieren Sie es und zahlen eine RegistrierungsgebБhr
von 10 DM fБr
- jede Kopie des SendYes! Pakets, das Sie gleichzeitig auf einem
einzelnen PC verwenden
- jeden Benutzer, der geichzeitig via Netzwerk auf ein installiertes
SendYes! Paket Zugreifen kann. Sie sind dafБr verantwortlich, daс
nur die Anzahl der Benutzer gleichzeitig auf ein installiertes
SendYes! Paket Zugriff haben, fБr die Sie registriert haben. Oder
mit anderen Worten, Sie mБssen fБr jeden Benutzer registrieren, der
gleichzeitig auf ein installiertes SendYes! Paket zugreifen kann.
Wenn Sie SendYes! nach der Probezeit von 30 Tagen nicht registrieren,
lФschen Sie alle installierten Kopien von SendYes!.
Die Registrierung gilt fБr alle Versionen von SendYes! bis inclusive V2.99.
Kontaktieren Sie den Autor fБr Mengenrabatte und Firmenlizenzen.
═══ 4.4. GewДhrleistungsausschluс ═══
Weil dieses Programm frei (freeware) ist, wird weder eine ausdrБckliche noch
eine implizite Garantie gegeben.
Ich bin nicht verantwortlich fБr irgend einen Schaden, der einem Anwender
direkt oder indirekt durch SendYes! entsteht.
Die gesamte Software wird ausgeliefert, wie sie ist (supplied AS IS).
Sie dБrfen das SendYes! Paket nur auf eigenes Risiko benutzen.
SendYes! darf nicht in Staaten verwendet werden, die den Auschluс der oben
aufgefБhrten Garantien verbieten.
ΓòÉΓòÉΓòÉ 5. Installation ΓòÉΓòÉΓòÉ
Dateien kopieren
Installationsprogramm
Deinstallationsprogramm
ΓòÉΓòÉΓòÉ 5.1. Dateien kopieren ΓòÉΓòÉΓòÉ
Wenn Sie das SendYes! Paket als ZIP Datei erhalten haben, erstellen Sie ein
Verzeichnis fБr die Dateien des SendYes! Pakets auf Ihrer Festplatte und
extrahieren Sie alle Dateien aus der ZIP-Datei dort hinein.
Stellen Sie dabei sicher, daс die in der ZIP-Datei gespeicherte
Verzeichnisstruktur beibehalten wird !
ΓòÉΓòÉΓòÉ 5.2. Installationsprogramm ΓòÉΓòÉΓòÉ
FБhren Sie folgende Schritte aus, um einen SendYes! Ordner mit voreigestellten
Programmobjekten zu erstellen:
1. Фffnen Sie ein OS/2 Fenster
2. wechseln Sie in das Verzeichnis, in dem sich die Dateien des SendYes!
Pakets befinden
3. wechseln Sie in das Unterverzeichnis INSTALL
4. fБhren Sie den Befehl
install
aus
Im Installationsprogramm kФnnen Sie die Sprache auswДhlen, die vom Programm
verwendet werden soll.
Das Installationsprogramm erstellt den SendYes! Ordner mit verschiedenen
SendYes! WPS Programmobjekten.
Anmerkung:
Wenn Sie die Dateien des SendYes! Paketes z.B. auf eine andere Festplatte
verschieben wollen, so verschieben Sie das SendYes! Verzeichnis an die
neue Position und fБhren Sie erneut das Installationsprogramm aus, um die
SendYes! WPS Programmobjekte entsprechend neu einzustellen.
ΓòÉΓòÉΓòÉ 5.3. Deinstallationsprogramm ΓòÉΓòÉΓòÉ
Um alle SendYes! WPS Programmobjekte zu deinstallieren,
starten Sie das Symbol SendYes! WPS Deinstallationsprogramm
oder fБhren Sie folgende Schritte aus:
1. Фffnen Sie ein OS/2 Fenster
2. wechseln Sie in das Verzeichnis, in dem sich die Dateien des
SendYes! Pakets befinden
3. wechseln Sie in das Unterverzeichnis INSTALL
4. fБhren Sie den Befehl
remove
aus.
Anmerkung:
Das SendYes! WPS Deinstallationsprogramm entfernt keine Dateien von Ihrer
Festplatte. Um SendYes! komplett zu deinstallieren, mБssen Sie auсerdem
die Dateien des SendYes! Pakets selbst entfernen.
ΓòÉΓòÉΓòÉ 6. Benutzung ΓòÉΓòÉΓòÉ
Aktionsprofile
vordefinierte Aktionsprofile
SendYes! GUI
SendYes! WPS Programmobjekte
Kommandozeilenparameter
ΓòÉΓòÉΓòÉ 6.1. Aktionsprofile ΓòÉΓòÉΓòÉ
Die graphische Benutzerschnittstelle von SendYes! erlaubt dem Benutzer,
Aktionsprofile zu erstellen, zu kopieren, zu editieren und zu lФschen.
Aktionsprofile bestehen aus:
dem Meldungstext des Meldungsdialogs, der bearbeitet werden soll.
dem Druckknopf, auf den eine Aktion ausgefБhrt werden soll. Alle fБr
einen Standardmeldungsdialog vorgesehenen DrucknФpfe kФnnen ausgewДhlt
werden und es liegt in der Verantwortung des Benutzers, einen Druckknopf
anzugeben, der tatsДchlich in dem Meldungsdialog verwendet wird, welcher
automatisch bearbeitet werden soll.
der Aktion, die ausgefБhrt werden soll. MФgliche Aktionen sind:
- den Druckknopf zu drБcken
- den Druckknopf als Standardknopf und zusДtzlich den Fokus auf den
Druckknopf zu setzen
Anmerkung: Diese Aktion wird nur beim erstmaligen Erscheinen des
Meldungsdialogs ausgefБhrt..
- den Druckknopf zu deaktivieren
Anmerkung:
- Der Meldungstext eines Aktionsprofiles muс sich von denen aller
anderen Aktionsprofile unterscheiden, also eindeutig sein, sodaс fБr
jeden mФglichen Meldungsdialog nur ein Aktionsprofil existiert.
- Der Meldungstext von vordefinierten Aktionsprofilen kann nicht
editiert werden. Trotzdem kФnnen der zu bearbeitende Druckknopf und
die auf ihn auszufБhrende Aktion geДndert werden.
- Die Aktion, die Sie auswДhlen, wird jedesmal ausgefБhrt, wenn der
Meldungsdialog den Eingabefokus erhДlt (auсer wenn der Druckknopf
als Standard-Druckknopf gesetzt wird, dies wird nur einmal
durchgefБhrt).
Daher ist es nicht sehr sinnvoll, ein Aktionsprofil zu definieren,
welches den Druckknopf fБr die Hilfefunktion drБckt, auch wenn das
mФglich ist. Wenn Sie ein solches Aktionsprofil benutzen, wird es
jedesmal die Hilfefunktion aktivieren, wenn Sie auf den
Meldungsdialog klicken, da er dadurch den Eingabefokus erhДlt und
die definierte Aktion ausgelФst wird.
Schlieсen Sie in einem solchen Fall zuerst den Meldungsdialog und
dann das Hilfe-Fenster.
ΓòÉΓòÉΓòÉ 6.2. vordefinierte Aktionsprofile ΓòÉΓòÉΓòÉ
Vordefinierte Aktionsprofile unterscheiden sich von benutzerdefinierten
Profilen wie folgt:
sie werden automatisch durch SendYes! erstellt und angezeigt, wenn es das
erste Mal gestartet wird.
sie kФnnen nicht gelФscht werden
ihr Meldungstext wird aus PM Resource-DLLs gelesen und kann nicht
verДndert werden.
Trotzdem kФnnen der zu bearbeitende Druckknopf und die auf ihn auszufБhrende
Aktion fБr vordefinierte Aktionsprofile geДndert werden.
Da die Meldungstexte fБr diese vordefinierten Aktionsprofile aus PM
Resource-DLLs gelesen werden, werden sie unter allen OS/2 WARP Versionen
funktionieren, gleichgБltig, welche sprachenspezifische Version Sie verwenden.
Auсderdem werden sie nicht in der INI Datei gespeichert, welche von SendYes!
erstellt wird, um die Aktionsprofile zu sichern. Dadurch kann diese Datei
zwischen Benutzern von OS/2 Versionen verschiedener Sprachen ausgetauscht
werden.
Der Zweck dieser vordefinierten Aktionsprofile ist vor allem, die
FunktionalitДt von vorherigen Versionen von SendYes! zu unterstБtzen, ohne daс
der Benutzer zuerst die Aktionsprofile dafБr selbst erstellen muс.
Damit der Benutzer zwischen vordefinierten und selbstdefinierten
Aktionsprofilen unterscheiden kann, wird jedes der vordefinierten
Aktionsprofile mit einer vorangestellten Kennzeichnung angezeigt.
In der aktuellen Version stellt SendYes! die folgenden vordefinierten
Aktionsprofile zur VerfБgung, um Meldungsdialoge fБr Sicherheitsabfragen
bearbeiten zu kФnnen:
zum Schlieсen von OS/2 Fenster Textsitzungen. Wenn dieses Aktionsprofil
aktiv ist, werden auсderdem die Meldungsdialoge fБr Sicherheitsabfragen
fБr DOS Fenster und Vollbildschirm-Textsitzungen bearbeitet.
Dieses Aktionsprofil trДgt die Kennzeichnung OS/2 Fenster schlieсen
zum Schlieсen von OS/2 Vollbildschirm-Textsitzungen.
Dieses Aktionsprofil trДgt die Kennzeichnung OS/2 Vollbild. schlieсen
zum Systemabschluс
Dieses Aktionsprofil trДgt die Kennzeichnung Systemabschluс
Um zu prБfen, ob die vordefinierten Aktionsprofile von SendYes! auch unter
Ihrem OS/2 die DOS und OS/2 Fenster und Vollbildschirm-Textsitzungen ohne
Sicherheitsabfragen schlieсen, siehe auch
Wie kann ich vordefinierte Aktionsprofile testen ?
Wenn alle Textsitzungen ohne Sicherheitsabfrage geschlossen werden,
funktioniert alles einwandfrei.
Wenn nicht, schicken Sie mir bitte ein e-mail und berichten es mir ...
FБr die Zwischenzeit kФnnen Sie ein Aktionsprofil selbst definieren, welches
die Textsitzungen auch auf IHREM System ohne Sicherheitsabfrage schlieсt.
ΓòÉΓòÉΓòÉ 6.3. SendYes! GUI ΓòÉΓòÉΓòÉ
Die SendYes! GUI besteht aus einen Notizbuch, das fast wie ein
Einstellungsnotizbuch eines WPS-Objektes verwendet werden kann. Dieses
Notizbuch erscheint, wenn Sie SendYes! ohne jeden Parameter starten oder das
Symbol SendYes! ausfБhren.
Anmerkung: Es kann jeweils nur eine Instanz der SendYes! GUI aktiv sein.
Das Notizbuch enthДlt zwei Seiten und ein gemeinsamer Dialog wird fБr das
Anlegen, Kopieren und Editieren von Aktionsprofilen vwerwendet:
Sitzungs-Seite
Aktions-Seite
Neu / Editieren / Kopieren Dialog
ΓòÉΓòÉΓòÉ 6.3.1. Sitzungs-Seite ΓòÉΓòÉΓòÉ
Auf dieser Seite kФnnen Sie
die SendYes! Hook Programmdatei starten und damit die SendYes!
FunktionalitДt aktivieren.
Benutzen Sie das Markierungsfeld SendYes! aktivieren, um SendYes! zu
aktivieren oder zu deaktivieren.
definieren, ob die SendYes! Hook Programmdatei durch einen separaten
Prozess oder durch den PMSHELL-Prozess geladen wird.
Anmerkung: In der aktuellen Version wird die SendYes! Hook Programmdatei
immer durch einen separaten Prozess geladen. Daher kann diese Einstellung
nicht verДndert werden.
definieren, ob die SendYes! Hook Programmdatei beim Deaktivieren aus dem
Hauptspeicher entfernt werden soll oder nicht.
Anmerkung: In der aktuellen Version wird die SendYes! Hook Programmdatei
beim Deaktivieren immer aus dem Hauptspeicher entfernt. Daher kann diese
Einstellung nicht verДndert werden.
ΓòÉΓòÉΓòÉ 6.3.2. Aktions-Seite ΓòÉΓòÉΓòÉ
Auf dieser Seite kФnnen Sie Aktionsprofile definieren und selbst- und
vordefinierte Aktionsprofile aktivieren und deaktivieren. Alle Profile werden
in zwei Listen gehalten:
Die mit Definierte Aktionsprofile gekennzeichnete Liste enthДlt
Aktionsprofile, die nicht aktiv sind.
Profile, die sich in dieser Liste befinden, kФnnen aktiviert, editiert,
kopiert oder gelФscht und neue Aktionsprofile kФnnen erstellt werden.
Anmerkung: Vordefinierte Aktionsprofile kФnnen nicht gelФscht und ihr
Meldungstext kann nicht editiert werden
Die mit Aktive Aktionsprofile gekennzeichnete Liste enthДlt die
Aktionsprofile, welche aktiv sind. Wenn die SendYes! Hook Programmdatei
auf der Sitzungs-Seite aktiviert wurde, werden die Aktionsprofile
ausgefБhrt, wenn die entsprechenden Meldungsdialoge erscheinen.
Profile, die sich in dieser Liste befinden, kФnnen lediglich editiert,
gelФscht und deaktiviert werden. Das Erstellen von neuen Aktionsprofilen
und das Kopieren von bestehenden Aktionsprofilen ist nur in der mit
Definierte Aktionsprofile gekennzeichneten Liste mФglich.
Auсerdem kФnnen die vordefinierten Aktionsprofile fБr das Schlieсen von
Textsizungen (und nur diese) getestet werden:
SendYes! erstellt dafБr die entsprechenden Textsitzungen, welche dann
einfach Бber die Fensterliste geschlossen werden kФnnen.
Anmerkung: Vordefinierte Aktionsprofile kФnnen nicht gelФscht und ihr
Meldungstext kann nicht editiert werden
Obwohl Sie Aktionsprofile entweder Бber die Maus oder per Tastatur
manipulieren kФnnen, ist die Benutzung der Maus wesentlich einfacher. Die
erweiterten Listen, welche die FunktionalitДt der Direct Manipulation ListBox
(DMLB) und der MultiColumn ListBox (MCLB) enthalten, erlauben die folgende
Verwendung der Maus:
verwenden Sie die rechte Maustaste in den Listen, um ein KontextmenБ
aufzurufen, welches die oben beschriebenen Aktionen ermФglicht.
als eine Alternative fБr einige der in den KontextmenБs angebotenen
Aktionen verwenden Sie Ziehen&Ъbergeben (Drag&Drop):
- zwischen den beiden Listen, um Aktionsprofile zu aktivieren oder zu
deaktivieren
- in der mit Definierte Aktionsprofile gekennzeichneten Liste, um ein
bestehendes Aktionsprofil zu kopieren
FБr weitere Informationen, wie Aktionsprofile manipuliert werden kФnnen, siehe
auch
Wie kann ich ... ?
SendYes! stellt drei vordefinierte Aktionsprofile zur VerfБgung, welche dazu
dienen, einige Standard-Meldungsdialoge zu bearbeiten. Sie kФnnen einige
dieser Profile testen, um zu prБfen, ob sie einwandfrei funktionieren.
Siehe dazu auch:
vordefinierte Aktionsprofile
Wie kann ich vordefinierte Aktionsprofile testen ?
ΓòÉΓòÉΓòÉ 6.3.3. Neu / Editieren / Kopieren Dialog ΓòÉΓòÉΓòÉ
In diesem Dialog kФnnen Sie neue Aktionsprofile erstellen oder bestehende
Aktionsprofile kopieren oder editieren.
ΓòÉΓòÉΓòÉ 6.4. SendYes! WPS Programmobjekte ΓòÉΓòÉΓòÉ
Das SendYes! WPS Installationsprogramm erstellt die folgenden Objekte:
einen SendYes! Ordner auf der ArbeitsoberflДche, der die folgenden
Programmreferenzobjekte enthДlt:
- SendYes! initialisieren
- SendYes!
- SendYes! V2.0 Hilfe
- SendYes! WPS Installationsprogramm
- SendYes! WPS Deinstallationsprogramm
eine Referenz von SendYes! initialisieren, die in den Systemstart-Ordner
gestellt wird, sodaс SendYes! bei jedem Neustart von OS/2 initialisiert
wird. FБr weitere Informationen Бber die Initialisierung von SendYes!
beim Systemstart siehe auch
Wie kann ich SendYes! initialisieren ?
eine Referenz des Ordners Sytemstart, die in den SendYes! Ordner gestellt
wird, sodaс Sie einfach auf den Systemstart-Ordner zugreifen kФnnen, um
gegebenenfalls die Referenz von SendYes! initialisieren lФschen oder
wieder in den Systemstart-Ordner stellen zu kФnnen.
eine Referenz von SendYes!, welche in den Ordner Systemkonfiguration
gestellt wird.
ΓòÉΓòÉΓòÉ 6.4.1. SendYes! initialisieren ΓòÉΓòÉΓòÉ
Dieses Symbol lДdt die SendYes! Hook Programmdatei, wenn die aktuellen
Einstellungen besagen, daс SendYes! aktiv ist. Eine Referenz dieses Symbols
wird durch das Installationsprogramm in den Ordner Sytemstart gestellt, sodaс
SendYes! bei jedem Neustart von OS/2 initialisiert wird.
Anmerkung:
Wenn die Umgebungsvariable RESTARTOBJECTS in der CONFIG.SYS auf den Wert
NO gesetzt wird, werden Objekte im Ordner Sytemstart nicht automatisch
beim Systemstart ausgefБhrt. Dann muс SendYes! Бber einen Aufruf in der
STARTUP.CMD oder per Hand initialisiert werden.
FБr weitere Informationen Бber die Initialisierung von SendYes! beim
Systemstart siehe auch
Wie kann ich SendYes! initialisieren ?
Sie kФnnen die SendYes! Hook Programmdatei auch Бber die SendYes! GUI
laden, indem Sie die folgenden Schritte durchfБhren:
1. Фffnen Sie die SendYes! GUI
2. wДhlen Sie die Sitzungs-Seite
3. markieren Sie das mit SendYes! aktivieren gekennzeichnete
Markierungsfeld
4. das Statusfeld Бber den DruckknФpfen zeigt den neuen Status von
SendYes! an, wenn die SendYes! Hook Programmdatei geladen werden
konnte.
Es wird kein Informationsmeldungsdialog angezeigt. Nur im Fehlerfall wird
ein Fehlermeldungsdialog angezeigt.
Dieses Symbol entspricht der AusfБhrung des Befehls
[start] SENDYES /INITIALIZE
auf der Kommandozeile im SendYes! Verzeichnis.
ΓòÉΓòÉΓòÉ 6.4.2. SendYes! ΓòÉΓòÉΓòÉ
Dieses Symbol startet die SendYes! GUI, in der die aktuellen Einstellungen des
Programmes verДndert werden kФnnen.
Anmerkung:
Dieses Symbol entspricht der AusfБhrung des Befehls
[start] SENDYES
auf der Kommandozeile im SendYes! Verzeichnis.
ΓòÉΓòÉΓòÉ 6.4.3. SendYes! V2.0 Hilfe ΓòÉΓòÉΓòÉ
Dieses Symbol zeigt diese Hilfedatei an.
Anmerkung:
Dieses Symbol entspricht der AusfБhrung des Befehls
README
auf der Kommandozeile im SendYes! Verzeichnis. Dieser Befehl zeigt die
INF Datei fБr die aktuell ausgewДhlte Sprache an.
Sie kФnnen ebenso eine sprachenspezifische INF Datei direkt anzeigen
lassen, indem Sie den Befehl
README ??? or
[start] view sndys???
auf der Kommandozeile im SendYes! Verzeichnis ausfБhren, wobei ??? die
englische AbkБrzung der gewБnschten Sprache ist. FБr weitere
Informationen Бber verfБgbare INF Dateien siehe auch
Das SendYes! Paket
ΓòÉΓòÉΓòÉ 6.4.4. SendYes! WPS Installationsprogramm ΓòÉΓòÉΓòÉ
Dieses Symbol fБhrt das Installationsprogramm fБr die SendYes! WPS
Programmobjekte aus.
Innerhalb dieses Programms kФnnen Sie auсerdem die von SendYes! zu verwendende
Sprache auswДhlen und die SendYes! WPS Programmobjekte erneut erstellen bzw.
aktualisieren, damit die neu ausgewДhlte Sprache fБr die Objekttitel verwendet
wird.
ΓòÉΓòÉΓòÉ 6.4.5. SendYes! WPS Deinstallationsprogramm ΓòÉΓòÉΓòÉ
Dieses Symbol fБhrt das Deinstallationsprogramm fБr die SendYes! WPS
Programmobjekte aus.
Mit diesem Programm kФnnen Sie die SendYes! WPS Programmobjekte entfernen.
Anmerkung:
Das SendYes! WPS Deinstallationsprogramm entfernt keine Dateien von Ihrer
Festplatte. Um SendYes! komplett zu deinstallieren, mБssen Sie auсerdem
die Dateien des SendYes! Pakets selbst entfernen.
ΓòÉΓòÉΓòÉ 6.5. Kommandozeilenparameter ΓòÉΓòÉΓòÉ
Die folgenden Parameter kФnnen zur Steuerung von SendYes! von der kommandozeile
verwendet werden:
/INITIALIZE
/LOAD /STATUS
/UNLOAD /BATCH
/ACTIVATE /QUIET
/DEACTIVATE /?
Algemeines zu Schalterparametern:
die Parameternamen kФnnen wahlweise groс und klein geschrieben werden.
Anstelle eines SchrДgstriches kФnnen Sie auch das Minuszeichen verwenden
- das heiсt, daс z.B. die Parameter /load und -load gleichwertig sind.
es reicht aus, nur den ersten Buchstaben des Schalternamens anzugeben -
das heiсt, daс .z.B. die Parameter /b und /batch (oder -b und -batch)
ebenfalls gleichwertig sind.
ΓòÉΓòÉΓòÉ 6.5.1. /INITIALIZE ΓòÉΓòÉΓòÉ
Dieser Parameter dient dazu, um SendYes! beim Systemstart zu initialisieren.
Wenn die aktuellen Einstellungen von SendYes! besagen, daс die Hook
Programmdatei aktiv ist, so verhДlt sich SendYes! so, als wДre der Parameter
/LOAD angegeben worden.
Anmerkung:
Es wird kein Informationsmeldungsdialog angezeigt. Nur im Fehlerfall wird
ein Fehlermeldungsdialog angezeigt.
ΓòÉΓòÉΓòÉ 6.5.2. /LOAD ΓòÉΓòÉΓòÉ
Dieser Parameter lДdt die SendYes! Hook Programmdatei, falls sie nicht bereits
geladen ist. Wenn die Hook Programmdatei erfolgreich geladen werden kann, so
ist die SendYes! FunktionalitДt verfБgbar und Meldungsdialoge, welche
aktivierten Aktionsprofilen entsprechen, werden automatisch bearbeitet.
Anmerkung:
Wenn die Hook Programmdatei erfolgreich geladen werden kann, wird ein
Informations-Meldungsdialog angezeigt.
Wenn die Hook Programmdatei bereits geladen ist oder nicht geladen werden
kann, wird ein Fehlermeldungsdialog angezeigt.
Jeweils der Informations- und der Fehlermeldungsdialog kФnnen durch den
Parameter /BATCH unterdrБckt werden. Anstelle dessen wird dann ein
Informations- bzw. ein Fehlerton generiert.
Weiterhin kann auch der Informations- bzw. Fehlerton durch den Parameter
/QUIET unterdrБckt werden.
ΓòÉΓòÉΓòÉ 6.5.3. /UNLOAD ΓòÉΓòÉΓòÉ
Dieser Parameter entfernt die SendYes! Hook Programmdatei wieder, wenn sie
aktiv ist. Wenn die Hook Programmdatei entfernt wird, ist die SendYes!
FunktionalitДt nicht lДnger verfБgbar und Meldungsdialoge werden nicht lДnger
automatisch bearbeitet.
Anmerkung:
Wenn die Hook Programmdatei erfolgreich entfernt werden kann, wird ein
Informations-Meldungsdialog angezeigt.
Wenn die Hook Programmdatei nicht geladen ist oder nicht entfernt werden
kann, wird ein Fehlermeldungsdialog angezeigt.
Jeweils der Informations- und der Fehlermeldungsdialog kФnnen durch den
Parameter /BATCH unterdrБckt werden. Anstelle dessen wird dann ein
Informations- bzw. ein Fehlerton generiert.
Weiterhin kann auch der Informations- bzw. Fehlerton durch den Parameter
/QUIET unterdrБckt werden.
ΓòÉΓòÉΓòÉ 6.5.4. /ACTIVATE ΓòÉΓòÉΓòÉ
Dieser Parameter funktioniert genauso wie /LOAD.
Er ist lediglich als ein GegenstБck zu /DEACTIVATE implementiert worden.
ΓòÉΓòÉΓòÉ 6.5.5. /DEACTIVATE ΓòÉΓòÉΓòÉ
In der aktuellen Version von SendYes! funktioniert dieser Parameter genauso wie
/UNLOAD.
Das wird sich Дndern, wenn SendYes! das Deaktivieren der Hook Programmdatei
ohne Entfernen aus dem Hauptspeicher unterstБtzt. Dann wird /DEACTIVATE fБr
dieses Deaktivieren verwendet werden.
ΓòÉΓòÉΓòÉ 6.5.6. /STATUS ΓòÉΓòÉΓòÉ
Dieser Parameter ermittelt, ob die SendYes! Hook Programmdatei aktiv ist oder
nicht.
Ein Status-Meldungsdialog wird angezeigt und der folgende ERRORLEVEL
zurБckgegeben:
1 SendYes! ist aktiv
0 SendYes! ist nicht aktiv
Anmerkung:
Wenn /STATUS angegeben wird, werden alle anderen Parameter auсer /?
ignoriert.
Der Status-Meldungsdialog kann durch den Parameter /BATCH unterdrБckt
werden. Im Gegensatz zur Verwendung von /BATCH mit anderen Parametern
wird hier kein Informations- oder Fehlerton generiert.
ΓòÉΓòÉΓòÉ 6.5.7. /BATCH ΓòÉΓòÉΓòÉ
Dieser Parameter underdrБckt Meldungsdialoge, wenn die Parameter /LOAD,
/UNLOAD, /ACTIVATE, /DEACTIVATE oder /STATUS verarbeitet werden.
Anstelle der Anzeige eines Meldungsdialogs wird ein Informations- oder
Fehlerton generiert. Dieser Ton kann ebenfalls unterdrБckt werden, wenn
auсderdem /QUIET angegeben wird.
Wenn /BATCH zusammen mit /STATUS angegeben wird, wird generell kein Ton
erzeugt.
ΓòÉΓòÉΓòÉ 6.5.8. /QUIET ΓòÉΓòÉΓòÉ
Dieser Parameter unterdrБckt Informations- oder FehlertФne, wenn der Parameter
/BATCH verwendet wird.
ΓòÉΓòÉΓòÉ 6.5.9. /? ΓòÉΓòÉΓòÉ
Dieser Parameter zeigt eine kurze Hilfe Бber die Parameter an.
Wenn /? angegeben wird, werden alle anderen Parameter ignoriert.
Anstelle von /? kann auch /HELP verwendet werden.
ΓòÉΓòÉΓòÉ 7. Wie kann ich ... ? ΓòÉΓòÉΓòÉ
... SendYes! laden ?
... SendYes! entfernen ?
... SendYes! aktivieren ?
... SendYes! deaktivieren ?
... den SendYes! Status ermitteln ?
... SENDYES.EXE in Batchdateien verwenden ?
... SendYes! initialisieren ?
... die SendYes! GUI starten ?
... ein Aktionsprofil selektieren ?
... Aktionsprofile erstellen ?
... ein Aktionsprofil kopieren ?
... Aktionsprofile aktivieren ?
... Aktionsprofile deaktivieren ?
... Aktionsprofile editieren ?
... vordefinierte Aktionsprofile testen ?
... die verwendete Sprache Дndern ?
... SendYes! deinstallieren ?
ΓòÉΓòÉΓòÉ 7.1. Wie kann ich SendYes! laden ? ΓòÉΓòÉΓòÉ
Um die SendYes! Hook Programmdatei zu laden
fБhren Sie in der SendYes! GUI die folgenden Schritte durch:
1. Фffnen Sie die SendYes! GUI
2. wДhlen Sie die Sitzungs-Seite
3. markieren Sie das mit SendYes! aktivieren gekennzeichnete
Markierungsfeld
4. das Statusfeld Бber den DruckknФpfen zeigt den neuen Status von
SendYes! an, wenn die SendYes! Hook Programmdatei geladen werden
konnte.
oder fБhren Sie den folgenden Befehl auf der Kommandozeile im SendYes!
Verzeichnis aus:
[start] SENDYES /LOAD [/BATCH] [/QUIET]
ΓòÉΓòÉΓòÉ 7.2. Wie kann ich SendYes! entfernen ? ΓòÉΓòÉΓòÉ
Um die SendYes! Hook Programmdatei zu entfernen
fБhren Sie in der SendYes! GUI die folgenden Schritte durch:
1. Фffnen Sie die SendYes! GUI
2. wДhlen Sie die Sitzungs-Seite
3. entfernen Sie die Markierung von dem mit SendYes! aktivieren
gekennzeichneten Markierungsfeld
4. das Statusfeld Бber den DruckknФpfen zeigt den neuen Status von
SendYes! an, wenn die SendYes! Hook Programmdatei entfernt werden
konnte.
oder fБhren Sie den folgenden Befehl auf der Kommandozeile im SendYes!
Verzeichnis aus:
[start] SENDYES /UNLOAD [/BATCH] [/QUIET]
ΓòÉΓòÉΓòÉ 7.3. Wie kann ich SendYes! aktivieren ? ΓòÉΓòÉΓòÉ
In der aktuellen Version von SendYes! entspricht das Aktivieren der SendYes!
Hook Programmdatei dem Laden dieser Programmdatei.
Um die SendYes! Hook Programmdatei zu aktivieren,
fБhren Sie in der SendYes! GUI die folgenden Schritte durch:
1. Фffnen Sie die SendYes! GUI
2. wДhlen Sie die Sitzungs-Seite
3. markieren Sie das mit SendYes! aktivieren gekennzeichnete
Markierungsfeld
4. das Statusfeld Бber den DruckknФpfen zeigt den neuen Status von
SendYes! an, wenn die SendYes! Hook Programmdatei geladen werden
konnte.
oder fБhren Sie den folgenden Befehl auf der Kommandozeile im SendYes!
Verzeichnis aus:
[start] SENDYES /ACTIVATE [/BATCH] [/QUIET]
ΓòÉΓòÉΓòÉ 7.4. Wie kann ich SendYes! deaktivieren ? ΓòÉΓòÉΓòÉ
In der aktuellen Version von SendYes! entspricht das Deaktivieren der SendYes!
Hook Programmdatei dem Entfernen dieser Programmdatei aus dem Hauptspeicher.
Um die SendYes! Hook Programmdatei zu deaktivieren,
fБhren Sie in der SendYes! GUI die folgenden Schritte durch:
1. Фffnen Sie die SendYes! GUI
2. wДhlen Sie die Sitzungs-Seite
3. entfernen Sie die Markierung von dem mit SendYes! aktivieren
gekennzeichneten Markierungsfeld
4. das Statusfeld Бber den DruckknФpfen zeigt den neuen Status von
SendYes! an, wenn die SendYes! Hook Programmdatei entfernt werden
konnte.
oder fБhren Sie den folgenden Befehl auf der Kommandozeile im SendYes!
Verzeichnis aus:
[start] SENDYES /DEACTIVATE [/BATCH] [/QUIET]
ΓòÉΓòÉΓòÉ 7.5. Wie kann ich den SendYes! Status ermitteln ? ΓòÉΓòÉΓòÉ
Um den Status der SendYes! Hook Programmdatei zu ermitteln
fБhren Sie in der SendYes! GUI die folgenden Schritte durch:
1. Фffnen Sie die SendYes! GUI
2. wДhlen Sie die Sitzungs-Seite
3. das Statusfeld Бber den DruckknФpfen zeigt den Status von SendYes!
oder fБhren Sie den folgenden Befehl auf der Kommandozeile im SendYes!
Verzeichnis aus:
[start] SENDYES /STATUS [/BATCH]
ΓòÉΓòÉΓòÉ 7.6. Wie kann ich SENDYES.EXE in Batchdateien verwenden ? ΓòÉΓòÉΓòÉ
Wenn Sie SENDYES.EXE in Batchdateien verwenden wollen, kФnnen Sie dazu den
Parameter /BATCH verwenden. Damit werden alle Informations- und
Fehlermeldungsdialoge unterdrБckt. Das Ergebnis kann in normalen Batchdateien
immer Бber die OS/2 ERRORLEVEL Variable und in REXX Batchdateien immer Бber die
Variable rc ermittelt werden: Mit Ausnahme der Status-Abfrage wird die
ERRORLEVEL Variable bei erfolgreicher AusfБhrung immer auf Null gesetzt.
Andernfalls wird ein OS/2 Fehlercode zurБckgegeben.
Anmerkung:
Wenn der Parameter/BATCH verwendet wird, um Informations- und
Fehlermeldungsdialoge zu unterdrБcken, werden stattdessen Informations-
und FehlertФne generiert, um dem Benutzer den Erfolg der
ProgrammausfБhrung anzuzeigen. Um diese TФne ebenfalls zu unterdrБcken,
kann auсerdem der Parameter /QUIET verwendet werden.
ΓòÉΓòÉΓòÉ 7.7. Wie kann ich SendYes! initialisieren ? ΓòÉΓòÉΓòÉ
Das SendYes! Installationsprogramm stellt eine Referenz von SendYes!
initialisieren in den Ordner Systemstart, sodaс SendYes! bei jedem Neustart von
OS/2 initialisiert wird.
Dies funktioniert jedoch nur, wenn die Umgebungsvariable RESTARTOBJECTS in der
CONFIG.SYS auf einen Wert gesetzt wird, der die WPS dazu veranlaсt, bei jedem
Neustart alle Objekte auszufБhren, die sich im Ordner Systemstart befinden.
Diese Umgebungsvariable kan in der CONFIG.SYS auf folgende Werte gesetzt
werden:
<kein Wert>
Alle Programme, die beim letzen Systemabschluс aktiv waren, werden
beim Systemstart automatisch neu gestartet. Auch alle Objekte, die
sich im Ordner Systemstart befinden, werden beim Systemstart
geФffnet.
SendYes! kann dadurch Бber die Referenz von SendYes! initialisieren
im Ordner Systemstart initialisiert werden.
STARTUPFOLDERSONLY
Programme, die beim letzen Systemabschluс aktiv waren, werden beim
Systemstart nicht automatisch neugestartet. Dennoch werden alle
Objekte, die sich im Ordner Systemstart befinden, beim Systemstart
geФffnet. (Ъbrigens kФnnen tatsДchlich mehrere Systemstartordner
existieren, wenngleich OS/2 nur einen anlegt).
SendYes! kann dadurch Бber die Referenz von SendYes! initialisieren
im Ordner Systemstart initialisiert werden.
NO
Keinerlei Programme werden durch die WPS automatisch gestartet.
SendYes! kann auf diese Weise NICHT durch die Referenz von SendYes!
initialisieren im Ordner System Start initialisiert werden.
FБgen Sie stattdessen den folgenden Befehl in die STARTUP.CMD ein
[start] d:\pfad\SENDYES /INITIALIZE
wobei d:\pfad der voll qualifizierte Pfadname des SendYes!
Verzeichnisses ist, oder fБhren Sie SendYes! initialisieren per Hand
aus.
ΓòÉΓòÉΓòÉ 7.8. Wie kann ich die SendYes! GUI starten ? ΓòÉΓòÉΓòÉ
Um die SendYes! GUI zu starten, fБhren Sie das Symbol
SendYes!
aus oder oder fБhren Sie den folgenden Befehl auf der Kommandozeile im
SendYes! Verzeichnis aus:
[start] SENDYES
ΓòÉΓòÉΓòÉ 7.9. Wie kann ich ein Aktionsprofil selektieren ? ΓòÉΓòÉΓòÉ
Um ein Aktionsprofil auszuwДhlen, fБhren Sie folgende Schritte durch:
Фffnen Sie die SendYes! GUI.
Siehe auch
Wie kann ich die SendYes! GUI starten ?
WДhlen Sie die Aktions-Seite aus.
Um ein Aktionsprofil mit der Tastatur auszuwДhlen, betДtigen Sie die TAB
Taste solange, bis die Liste, die das gewБnschte Profil enthДlt, den
Eingabefokus erhДlt. WДhlen Sie dann das gewБnschte Profil mit den
Pfeiltasten aus.
Sie kФnnen das KontextmenБ fБr das Profil durch DrБcken der Eingabetaste
aktivieren.
Dies trifft auch zu, wenn die betreffende Liste leer ist. Sobald die
Liste den Eingabefokus erhalten hat, wird durch das DrБcken der
Eingabetaste das KontextmenБ aktiviert.
Um ein Aktionsprofil mit der Maus zu selektieren, klicken Sie einfach
darauf.
Das KontextmenБ fБr dieses Profil kann durch Anklicken mit der rechten
Maustaste aktiviert werden.
Dies trifft auch zu, wenn die betreffende Liste leer ist. Ein Klick mit
der rechten Maustaste auf die Liste aktiviert ebenfalls das KontextmenБ.
ΓòÉΓòÉΓòÉ 7.10. Wie kann ich Aktionsprofile erstellen ? ΓòÉΓòÉΓòÉ
Um ein Aktionsprofil zu erstellen, fБhren Sie auf der Aktions-Seite folgende
Schritte durch:
Aktivieren Sie das KontextmenБ der Liste Definierte Aktionsprofile.
Siehe auch
Wie kann ich ein Aktionsprofil selektieren ?
WДhlen Sie den MenБeintrag Neu... aus
SendYes! zeigt einen Dialog an, in dem die Einstellungen fБr das neue
Profil eingetragen werden kФnnen.
Siehe auch
Aktionsprofile
Neu / Editieren / Kopieren Dialog
ΓòÉΓòÉΓòÉ 7.11. Wie kann ich ein Aktionsprofil kopieren ? ΓòÉΓòÉΓòÉ
Um ein existierendes Aktionsprofil zu kopieren, fБhren Sie auf der
Aktions-Seite folgende Schritte durch:
WДhlen Sie in der mit Definierte Aktionsprofile gekennzeichneten Liste
das gewБnschte Profil aus. Um ein Aktionsprofil zu kopieren, welches
gerade aktiv ist und sich daher in der mit Aktive Aktionsprofile
gekennzeichneten Liste befindet, so muс dieses zeitweilig deaktiviert
werden, sodaс es kopiert werden kann.
Siehe auch
Wie kann ich ein Aktionsprofil selektieren ?
Wie kann ich Aktionsprofile deaktivieren ?
WДhlen Sie den MenБeintrag Kopieren... aus
SendYes! zeigt einen Dialog an, in dem die Einstellungen fБr das neue
Profil eingetragen werden kФnnen. Es muс zumindest der Meldungstext
geДndert werden, da dieser unter allen Aktionsprofilen eindeutig sein
muс.
Siehe auch
Aktionsprofile
Neu / Editieren / Kopieren Dialog
ΓòÉΓòÉΓòÉ 7.12. Wie kann ich Aktionsprofile aktivieren ? ΓòÉΓòÉΓòÉ
Um ein Aktionsprofil zu aktivieren, fБhren Sie auf der Aktions-Seite folgende
Schritte durch:
Wenn Sie dies per Tastatur durchfБhren wollen:
- WДhlen Sie in der mit Definierte Aktionsprofile gekennzeichneten
Liste das gewБnschte Profil aus und aktivieren Sie das KontextmenБ.
Siehe auch
Wie kann ich ein Aktionsprofil selektieren ?
- WДhlen Sie den MenБeintrag Aktivieren aus
Wenn Sie dies mit der Maus durchfБhren wollen:
- Ziehen Sie das gewБnschte Profil von der mit Definierte
Aktionsprofile gekennzeichneten Liste in die mit Aktive
Aktionsprofile gekennzeichnete Liste.
ΓòÉΓòÉΓòÉ 7.13. Wie kann ich Aktionsprofile deaktivieren ? ΓòÉΓòÉΓòÉ
Um ein Aktionsprofil zu deaktivieren, fБhren Sie auf der Aktions-Seite folgende
Schritte durch:
Wenn Sie dies per Tastatur durchfБhren wollen:
- WДhlen Sie in der mit Aktive Aktionsprofile gekennzeichneten Liste
das gewБnschte Profil aus und aktivieren Sie das KontextmenБ.
Siehe auch
Wie kann ich ein Aktionsprofil selektieren ?
- WДhlen Sie den MenБeintrag Deaktivieren aus
Wenn Sie dies mit der Maus durchfБhren wollen:
- Ziehen Sie das gewБnschte Profil von der mit Aktive Aktionsprofile
gekennzeichneten Liste in die mit Definierte Aktionsprofile
gekennzeichnete Liste.
ΓòÉΓòÉΓòÉ 7.14. Wie kann ich Aktionsprofile editieren ? ΓòÉΓòÉΓòÉ
Um ein Aktionsprofil zu editieren, fБhren Sie auf der Aktions-Seite folgende
Schritte durch:
WДhlen Sie das gewБnschte Aktionsprofil aus, welches editiert werden soll
und aktivieren Sie das KontextmenБ.
Sowohl deaktivierte als auch aktivierte Aktionsprofile kФnnen editiert
werden.
Siehe auch
Wie kann ich ein Aktionsprofil selektieren ?
WДhlen Sie den MenБeintrag Editieren... aus
SendYes! zeigt einen Dialog an, in dem die Einstellungen fБr das Profil
verДndert werden kФnnen.
ΓòÉΓòÉΓòÉ 7.15. Wie kann ich vordefinierte Aktionsprofile testen ? ΓòÉΓòÉΓòÉ
Um die vordefinierten Aktionsprofile fБr das Schlieсen von Textsitzungen zu
testen, kann SendYes! die entsprechenden Textsitzungen automatisch erstellen,
sodaс der Test wesentlich vereinfacht wird. Wenn die Sitzungen erstellt sind,
kФnnen Sie diese Бber die Fensterliste schlieсen.
Die Sicherheitsabfragen sollten dann nicht mehr erscheinen.
NatБrlich funktionieren diese Profile auch mit jeder anderen Textsitzung.
Um SendYes! die Textsitzungen fБr Sie erstellen zu lassen, fБhren Sie auf der
Aktions-Seite folgende Schritte durch:
Falls dies noch nicht geschehen ist, aktivieren Sie eines oder besser
beide vordefinierten Aktionsprofile fБr das Schlieсen von Textsitzungen.
Sie sind mit
- OS/2 Fenster schlieсen und
- OS/2 Vollbild. schlieсen
gekennzeichnet.
Siehe auch
Wie kann ich Aktionsprofile aktivieren ?
WДhlen Sie eines der beiden (aktivierten) Aktionsprofile und aktivieren
Sie das KnotextmenБ.
Siehe auch
Wie kann ich ein Aktionsprofil selektieren ?
WДhlen Sie den MenБeintrag Testen... aus
═══ 7.16. Wie kann ich die verwendete Sprache Дndern ? ═══
Um die von SendYes! verwendete Sprache zu Дndern, fБhren Sie einfach erneut das
Installationsprogramm aus, indem Sie das Symbol SendYes! WPS
Installationsprogramm ausfБhren.
Im Installationsprogramm
1. wДhlen Sie die gewБnschte Sprache aus und
2. installieren Sie die SendYes! WPS Programmobjekte erneut
Dadurch wird auch die von der SendYes! GUI verwendete Sprache geДndert.
Anmerkung:
Die Оnderung der Sprache bleibt nur dann erhalten, wenn die SendYes! WPS
Programmobjekte erneut installiert werden. Wenn Sie das
Installationsprogramm verlassen, ohne dies zu tun, wird die Оnderung der
Sprache nicht durchgefБhrt.
ΓòÉΓòÉΓòÉ 7.17. Wie kann ich SendYes! deinstallieren ? ΓòÉΓòÉΓòÉ
Um SendYes! zu deinstallieren, fБhren Sie das Deinstallationsprogramm aus,
indem Sie das Symbol SendYes! WPS Deinstallationsprogramm ausfБhren oder das
Deinstallationsprogramm von der Kommandozeile aus aufrufen.
Dies wird die SendYes! WPS Programmobjekte von der ArbeitsoberflДche entfernen.
Danach lФschen Sie die Dateien des SendYes! Pakets.
═══ 8. EinschrДnkungen ═══
SendYes! kann normalerweise nur Meldungsdialoge bearbeiten, die mit dem
API WinMessageBox erstellt werden. Die IDs fБr die DruckknФpfe, die in
diesen Standard-Meldungsdialogen verwendet werden, sind im Programmers
Toolkit definiert.
Ein zweites API, WinMessageBox2, gibt dem Programmierer die MФglichkeit,
ebenfalls einen Meldungsdialog zu erstellen, aber die DruckknФpfe mit
anderen Texten und anderen IDs zu versehen. SendYes! kann diese
Meldungsdialoge nur dann bearbeiten, wenn wenigstens die Standard-IDs fБr
die DruckknФpfe verwendet werden, da andere nicht bekannt sind.
Des weiteren wБrde es sehr hilfreich sein, wenn auch die Texte der
DruckknФpfe irgendwie mit denen der Standard-DruckknФpfe Бbereinstimmen.
andernfalls werden Sie Schwierigkeiten haben, herauszubekommen, welchen
Druckknopf Sie im SendYes! Aktionsprofil auswДhlen mБssen.
Ein Beispiel, wo alles reibungslos funktionieren wБrde, ist, wenn eine
Anwendung alle seine Meldungsdialoge immer in einer bestimmten Sprache
erstellen soll, gleichgБltig unter welcher Sprachspezifischen OS/2
Version sie ausgefБhrt wird. Dann wБrde der Programmierer der Anwendung
das WinMessageBox2 verwenden und dabei die Standard-IDs und Texte fБr die
DruckknФpfe verwenden. In einem solchen Fall kФnnte ganz normal ein
SendYes! Aktionsprofil fБr diesen Meldungsdialog erstellt und verwendet
werden.
Wenn Sie nicht sicher sind, ob ein Meldungsdialog die Standard-IDs fБr
DruckknФpfe verwendet, БberprБfen Sie den Meldungsdialog mit der Utility
PM Tree. Die IDs der verwendeten DruckknФpfe sollte im Bereich von 1 bis
8 liegen.
Anmerkung:
- PM Tree zeigt die ID 1 als DID_OK und ID 2 als DID_CANCEL an
- Wenn der untersuchte Meldungsdialog weniger als vier DruckknФpfe
verwendet, wird er auсerdem einen oder mehrere nicht verwendete
DruckknФpfe mit IDs von 0x65 bis 0x67 enthalten, da immer vier
DruckknФpfe erstellt werden, aber nur die IDs derjenigen DruckknФpfe
redefiniert werden, die sichtbar sind und wirklich verwendet werden.
═══ 9. ZukБnftige Erweiterungen ═══
In einer zukБnftigen Version wird SENDYES.EXE durch ein richtiges WPS
Objekt ersetzt werden und die aktuell vorhandenen Notizbuchseiten werden
in das Einstellungsnotizbuch des WPS Objektes integriert. Alle
Kommandozeilenparameter werden durch Setup-Strings ersetzt werden, sodaс
eine Batch-Schnittstelle weiterhin mФglich ist. FБr alle, die gerne
weiterhin auf der Kommandozeile arbeiten und nicht WPS Objekte benutzen
mФchten, ist ein REXX Batch vorstellbar, der die Kommandozeilenparameter
von V2.00 weiterhin unterstБtzt.
In zukБnftigen Versionen wird der Hook auch Бber den PMSHELL Prozess
ladbar sein, sodaс der Overhead eines extra Prozesses vermieden werden
kann. Die Menge des von SendYes! benФtigen Hauptspeichers wird aber nicht
geringer werden, der einzige Unterschied wird sein, daс der Code, der die
Hook DLL lДdt, ebenfalls in einer DLL steht, die ihrerseits automatisch
durch PMSHELL geladen wird. Ein Nachteil besteht darin, daс SendYes! nur
durch einen Neustart des Systems komplett aus dem Hauptspeicher entfernt
werden kann. Darum wird das Laden durch einen separaten Prozess weiterhin
angeboten werden, d.h. der Benutzer kann entscheiden, ob die SendYes!
Programmdatei durch PMSHELL oder durch einen separaten Prozess geladen
wird.
Beachten Sie, daс das Markierungsfeld SendYes! aktivieren auf der
Aktions-Seite deaktiviert ist, da in der aktuellen Version von SendYes!
die Hook Programmdatei immer durch einen separaten Prozess geladen wird.
In der aktuellen Version von SendYes! wird die Hook Programmdatei immer
aus dem Hauptspeicher entfernt, wenn der Hook deaktiviert wird. In
zukБnftigen Versionen wird es mФglich sein, den Hook zwar zu
deaktivieren, aber im Hauptspeicher zu belassen. Dies wird auch die
einzige mФgliche Option sein, wenn die SendYes! Hook Programmdatei durch
PMSHELL geladen wird. Wenn sie aber durch einen separaten Prozess geladen
wird, kann der Benutzer entscheiden, ob sie bei Deaktivieren des Hooks
aus dem Hauptspeicher entfernt werden soll oder nicht.
Beachten Sie, daс das Markierungsfeld bei Deaktivieren aus Speicher
entfernen auf der Aktions-Seite deaktiviert ist, da in der aktuellen
Version von SendYes! die Hook Programmdatei immer aus dem Hauptspeicher
entfernt wird, wenn der Hook deaktiviert wird.
SendYes! wird um eine Art von Schnappschuс- oder Lernfunktion erweitert
werden, mit der die Meldungstexte aller Meldungsdialoge aufgefangen
werden kФnnen, die erscheinen, wДhrend die Lernfunktion aktiv ist. Dies
wird den Benutzer davon entlasten, Meldungstexte einzutippen, wenn neue
Aktionsprofile erstellt werden.
Beachten Sie, daс der MenБeintrag Suchen... im KontextmenБ der mit
Definierte Aktionsprofile gekennzeichneten Liste auf der Aktions-Seite in
der aktuellen Version deaktiviert ist und zur zukБnftigen Implementation
dieser FunktionalitДt reserviert ist.
In der aktuellen SendYes! Version muс der Meldungstext exakt so
eingegeben werden, wie er in dem zu bearbeitenden Meldungsdialog
erscheint. Es kФnnte sinnvoll sein, regulДre AusdrБcke zu unterstБtzen,
allerdings wird dann auch ein Verfahren benФtigt, um regulДre AusdrБcke
miteinander zu vergleichen, da die Meldungstexte aller gespeicherten
Aktionsprofile eindeutig sein mБssen. Im Moment wird ein "case sensitive
string compare" verwendet, um sicherzustellen, daс ein neuer oder
geДnderter Meldungstext eindeutig ist...
Wenn allerdings die Suchen... Funktion implementiert ist, dann ist die
UnterstБtzung von regulДren AusdrБcken vielleicht nicht mehr so wichtig ?
eine Import- und Exportfunktion fБr Aktionsprofile kФnnte sinnvoll sein.
Im Moment ist mir nicht klar, ob sowas wirklich gebraucht wird. Wenn Sie
glauben, daс Sie so etwas wirklich gebrauchen kФnnen, erwДhnen Sie es
bitte in Ihrem e-mail.
Die Listen auf der Aktions-Seite sind im Moment nur Listen mit einfacher
Selektierung. Es wДhre nett, wenn man mehrere Aktionsprofile auf einmal
selektieren und z.B. mit einem Mal verschieben kФnnte. Das klingt
vielleicht einfach, aber ist doch ziemlich kompliziert und mit einigem
Aufwand verbunden...
ΓòÉΓòÉΓòÉ 10. Technische Details ΓòÉΓòÉΓòÉ
Die SendYes! PM Hooks
erweiterte Listen
National Language Support
IPFC Preprocessor
syslevel manager
ΓòÉΓòÉΓòÉ 10.1. Die SendYes! PM Hooks ΓòÉΓòÉΓòÉ
Die SendYes! FunktionalitДt wird dadurch ermФglicht, daс SendYes! PM Hooks
(Haken) fБr das Abfangen bestimmter PM Meldungen installiert.
Allgemeines Бber PM Hooks
Es gibt verschiedene Kategorien von Hooks und jeder Hook erhДlt vom System alle
Meldungen, die zu seiner Kategorie gehФren. Nach der Installation eines Hooks
werden diese Meldungen zuerst an den Hook gesendet. Der Hook reagiert in der
Regel nur auf einige wenige Meldungen, wДhrend alle anderen Meldungen an den
eigentlichen Adressaten weitergeleitet werden.
Die beiden wichtigsten Hooks sind der SendMessage Hook und der Input Hook. Der
erste erhДlt alle Nachrichten, die synchron mit dem API WinSendMsg an irgendein
PM Fenster gesendet werden. Der SendMessage Hook muс die Nachricht auf jeden
Fall nach der eigenen Bearbeitung an den eigentlichen Adressaten weiterleiten,
er kann aber ansonsten auf jeden Fall beliebig darauf reagieren.
Der Input Hook hingegen erhДlt alle Meldungen, die mit dem API WinPostMsg
asynchron an irgend ein PM-Fenster verschickt werden und bis zur Bearbeitung in
dessen Meldungs-Warteschlange plaziert werden. Der Input Hook kann im Gegensatz
zum SendMessage Hook nicht nur auf die Meldung reagieren, sondern bei Bedarf
verhindern, daс die Meldung in die Meldungs-Warteschlange des EmpfДngers
gestellt wird. So kann verhindert werden, daс der Adressat diese Meldung erhДlt
bzw. bearbeitet.
Die SendYes! PM Hooks
SendYes! installiert je einen SendMessage Hook und einen Input Hook. Der
SendYes! SendMessage Hook wartet darauf, daс eine Meldung fБr einen
Fokuswechsel gesendet wird.
Diese Meldungen werden vom PM an jedes Dialogfenster gesendet, dessen
Kontrollfeld den Eingabefokus erhДlt oder verliert. SendYes! kann dann prБfen,
ob das betreffende Dialogfenster ein Meldungsdialog ist. Wenn dies der Fall
ist, dann wird der Dialog bzw. dessen Meldungstext mit den aktiven
Aktionsprofilen verglichen. Gleicht der Meldungstext des Meldungsdialogs dem
gespeicherten Meldungstext eines aktiven Aktionsprofils, so wird indirekt die
im Aktionsprofil definierte Aktion ausgefБhrt.
Die jeweilige Aktion kann nicht direkt ausgefБhrt werden, da beim erstmaligen
Erhalts des Eingabefokus der Meldungsdialog noch nicht vollstДndig
initialisiert ist. Lediglich der Standarddruckknopf ist zu diesem Zeitpunkt
definiert und fБr eine Aktion verfБgbar, alle anderen DruckknФpfe jedoch noch
nicht.
Um nun Aktionen auf alle DruckknФpfe ausfБhren zu kФnnen, muс SendYes! dafБr
sorgen, daс es noch einmal zu einem spДteren Zeitpunkt die Kontrolle erhДlt. Es
verschickt dazu mit WinPostMsg eine spezielle Meldung an den Meldungsdialog, Da
jedes PM Fenster erst dann Meldungen aus seiner Meldungswarteschlange erhalten
kann, wenn seine Initialisierung abgeschlossen ist, erhДlt auch der
Meldungsdialog diese spezielle Meldung erst, nachdem er vollstДndig
initialisiert ist.
Zu diesem Zeitpunkt fДngt der SendYes! Input Hook diese Meldung ab und kann nun
die gewБnschte Aktion auf jeden der nun vollstДndig verfБgbaren DruckknФpfe
vornehmen.
Eine Besonderheit ist, falls die gewБnschte Aktion das Setzen eines
Druckknopfes als Standarddruckknopf (und damit das Setzen des Eingabefokus
darauf) ist: dann muс SendYes! auсerdem sicherstellen, daс diese Aktion nur
einmal durchgefБhrt wird, also nur, wenn der Meldungsdialog das erste Mal
aktiviert wird und damit eines seiner Kontrollfelder den Eingabefokus erhДlt.
Ansonsten wБrde jeder Fokuswechsel innerhalb des Meldungsdialogs, also z.B. das
Bewegen des Eingabefokus mit den Pfeiltasten immer wieder dieselbe Aktion
auslФsen und der Fokus wБrde von SendYes! immer wieder auf denselben Druckknopf
gesetzt. Das Ergebnis wДre, daс der Eingabefokus per Tastatur nicht mehr
verДndert werden kФnnte und daher per Tastatur nur der Standarddruckknopf
erreichbar wДre.
Technisches Бber PM Hooks
Ein Hook ist eine Funktion, die in einer DLL stehen muс. Der Prozess, der diese
DLL lДdt und den Hook installiert, muс aktiv und im Hauptspeicher verbleiben,
bis der Hook wieder deinstalliert wird.
Daher werden fБr einen Hook mindestens eine Programmdatei und eine DLL
benФtigt. Um den Hauptspeicher zu begrenzen, der durch den Hook belegt wird,
ist seit V2.00 von SendYes! der Code, der die Hook DLL lДdt und den Hook
installiert, von SENDYES.EXE. in eine separate Hook Programmdatei verlegt
worden.
Auf diese Weise ist es mФglich gewesen, die Benutzerschnittstelle in
SENDYES.EXE bedeutend zu erweitern, wДhrend der Hook immer noch lediglich etwa
dieselbe Menge Speicher benФtigt wie in der Vorversion. Da SENDYES.EXE nur fБr
die Konfiguration bzw. fБr die Initialisierung benФtigt wird, belegt SendYes!
im laufenden Betrieb entsprechend nur die geringe Menge an Hauptspeicher, die
der Hook benФtigt.
Die beiden folgenden Quelldateien fБr die Hook Lade-Programmdatei und die Hook
DLL machen den Hauptteil der Arbeit und sind daher wohl die interessantesten,
wenn auch zwei der kleinsten von allen SendYes! Quelldateien:
Hook Lade-Programmdatei
Hook DLL
Weitere Informationen Бber Senden und Posten von PM Meldungen und Бber PM
Hooks erhalten Sie in Programmers Toolkit Dokumentation.
ΓòÉΓòÉΓòÉ 10.1.1. hook Lader ΓòÉΓòÉΓòÉ
SNDYSHK.C
#define INCL_DOSSEMAPHORES
#define INCL_DOSMODULEMGR
#define INCL_WINWINDOWMGR
#define INCL_WINMESSAGEMGR
#define INCL_WINHOOKS
#define INCL_ERRORS
#define INCL_DOSPROCESS
#include <os2.h>
#include <stdlib.h>
#include <string.h>
#include "sndyshk.h"
#include "sndysdll.h"
#include "sndysldr.h"
#define SENDYES_HOOKDLLFILE "SNDYSDLL"
#define ERROR_BEEP DosBeep(800,100)
/*ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
*Γöé Name : main Γöé
*Γöé Comment : Γöé
*Γöé Author : C.Langanke Γöé
*Γöé Date : 05.11.1995 Γöé
*Γöé Update : 05.11.1995 Γöé
*Γöé called by : C-Runtime Γöé
*Γöé calls : Win*, Dos* Γöé
*Γöé Input : INT, PSZ[] - command line parms Γöé
*Γöé Tasks : - starts hook Γöé
*Γöé returns : INT - OS/2 error code Γöé
*ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
*/
INT main
(
INT argc,
PSZ argv[]
)
{
HAB hab;
HMQ hmq;
QMSG qmsq;
HEV hevTerminationSem = 0;
HEV hevStartupSem = 0;
HLIB hlibDLL = 0;
BOOL fSendMsgHookActive = FALSE;
BOOL fInputHookActive = FALSE;
APIRET rc = NO_ERROR;
do
{
// check if startup sem is there to make sure that
// this executable is loaded only by the SendYes! GUI
rc = DosOpenEventSem( SEM_STARTUP,
&hevStartupSem);
if (rc != NO_ERROR)
break;
// initialize PM resources
hab = WinInitialize( 0);
if (hab == NULLHANDLE)
{
rc = ERROR_INVALID_FUNCTION;
break;
}
hmq = WinCreateMsgQueue( hab, 0);
if (hmq == NULLHANDLE)
{
rc = ERRORIDERROR( WinGetLastError( hab));
break;
}
// do not participate on shutdown processing
// because we will not dispatch our message queue,
if (!WinCancelShutdown( hmq, TRUE))
{
rc = ERRORIDERROR( WinGetLastError( hab));
break;
}
// initialize SENDYES DLL Data
rc = InitDllData();
if (rc != NO_ERROR)
{
break;
}
// set up termination sem
rc = DosCreateEventSem( SEM_TERMINATION, // name of sem
&hevTerminationSem, // handle
0L, // named sem always shared
FALSE); // initially set
if (rc != NO_ERROR)
{
break;
}
// get DLL Handle, cannot fail because it is linked already statically
rc = DosQueryModuleHandle( SENDYES_HOOKDLLFILE, &hlibDLL);
// start the SendMsg hook
fSendMsgHookActive = WinSetHook( hab, NULLHANDLE, HK_SENDMSG, (PFN)&SendMsgHook, hlibDLL);
fInputHookActive = WinSetHook( hab, NULLHANDLE, HK_INPUT, (PFN)&InputHook, hlibDLL);
if ((!fSendMsgHookActive) || (!fInputHookActive))
{
rc = ERRORIDERROR( WinGetLastError( hab));
break;
}
// note that the message queue is not dispatched,
// as in normal PM programs. We need the message
// queue only for being able to call Win* APIs
// the hooks do not make use of it ...
// now post startup sem for the SendYes! GUI
// to signal that startup processing has finished
DosPostEventSem( hevStartupSem);
// ... and wait for termination sem
// posted by the SendYes! GUI
rc = DosWaitEventSem( hevTerminationSem, SEM_INDEFINITE_WAIT);
} while (FALSE);
// cleanup
DeinitDllData();
if (fSendMsgHookActive) WinReleaseHook( hab, NULLHANDLE, HK_SENDMSG, (PFN)&SendMsgHook, (HLIB)0);
if (fInputHookActive) WinReleaseHook( hab, NULLHANDLE, HK_SENDMSG, (PFN)&InputHook, (HLIB)0);
if (hmq) WinDestroyMsgQueue( hmq);
if (hab) WinTerminate( hab);
if (hevTerminationSem) DosCloseEventSem (hevTerminationSem);
if (hevStartupSem) DosCloseEventSem( hevStartupSem);
if (rc != NO_ERROR) ERROR_BEEP;
return rc;
}
ΓòÉΓòÉΓòÉ 10.1.2. hook ΓòÉΓòÉΓòÉ
SNDYSDLL.H
#ifndef _SNDYSDLL_H
#define _SNDYSDLL_H
#include <os2.h>
//
// public prototypes
//
VOID EXPENTRY SendMsgHook( HAB hab, PSMHSTRUCT psmh, BOOL fInterTask);
BOOL EXPENTRY InputHook( HAB hab, PQMSG pqmsg, USHORT usRemove);
APIRET InitDllData( VOID);
APIRET DeinitDllData( VOID);
#endif // _SNDYSDLL_H
SNDYSDLL.C
#define INCL_WIN
#define INCL_DOS
#define INCL_ERRORS
#include <os2.h>
#include "sndysdll.h"
#include "sndysprf.h"
#include "sndyshk.h"
#include <string.h>
//
// magic values for resids
// when these ids change, SendYes! will not work anylonger ...
//
#define ID_MSGBOX_MESSAGE 200 // ID of message text
#define ID_MSGBOX_ICON 300 // ID of icon
//
// global variables
//
static BOOL fInitialized = FALSE;
static PACTIONPRFLIST pactionprflistGlobal = NULL;
static HMTX hmtxUpdateGlobal = 0L;
//
// defines for trigger message
//
#define WM_USER_MSGBOX_TRIGGER 0xFEDC
#define MP_USER_MSGBOX_TRIGGER 0xFEDC
/*ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
*Γöé Name : InitDllData Γöé
*Γöé Comment : is to be called before use of the hook. Γöé
*Γöé Author : C.Langanke Γöé
*Γöé Date : 10.10.1995 Γöé
*Γöé Update : 18.12.1995 Γöé
*Γöé called by : main Γöé
*Γöé calls : Dos* Γöé
*Γöé Global i/o: PACTIONPRFLIST - pointer to list in named shared segment Γöé
*Γöé HMTX - handle to update semaphore Γöé
*Γöé BOOL - initialize flag Γöé
*Γöé Input : - Γöé
*Γöé Tasks : - initialises DLL data: Γöé
*Γöé - gets access to shared segment Γöé
*Γöé - creates update semaphore Γöé
*Γöé returns : APIRET - OS/2 error code Γöé
*ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
*/
APIRET _Export InitDllData ( VOID)
{
APIRET rc;
// initialized ?
if (fInitialized)
return NO_ERROR;
do
{
// get access to named shared segment
// to keep it in access for this process
rc = DosGetNamedSharedMem( (PVOID *) &pactionprflistGlobal,
SEG_ACTIONPRFLIST,
PAG_READ | PAG_WRITE);
if (rc != NO_ERROR)
break;
// set up uptdate sem to keep it
// in access for this process
rc = DosCreateMutexSem( SEM_UPDATE, // name of sem
&hmtxUpdateGlobal, // handle
0L, // named sem always shared
FALSE); // initially not owned
if (rc != NO_ERROR)
break;
} while (FALSE);
// initialize done
fInitialized = (rc == NO_ERROR);
return rc;
}
/*ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
*Γöé Name : DeinitDllData Γöé
*Γöé Comment : is to be called on termination of hook Γöé
*Γöé Author : C.Langanke Γöé
*Γöé Date : 10.10.1995 Γöé
*Γöé Update : 18.12.1995 Γöé
*Γöé called by : main Γöé
*Γöé calls : Dos* Γöé
*Γöé Global i/o: PACTIONPRFLIST - pointer to list in named shared segment Γöé
*Γöé HMTX - handle to update semaphore Γöé
*Γöé BOOL - initialize flag Γöé
*Γöé Input : - Γöé
*Γöé Tasks : - free DLL resources Γöé
*Γöé returns : APIRET - OS/2 error code Γöé
*ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
*/
APIRET _Export DeinitDllData ( VOID)
{
// deaktivate hook
fInitialized = FALSE;
// free named shared segment
DosFreeMem( pactionprflistGlobal);
// close update sem
DosCloseMutexSem( hmtxUpdateGlobal);
return NO_ERROR;
}
/*ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
*Γöé Name : SendMsgHook Γöé
*Γöé Comment : Original version by Wes Santee, 1995 Γöé
*Γöé Note that the global variables (pointer to shared mem Γöé
*Γöé and handle to update sem) are not valid within the hook Γöé
*Γöé function, because this function is executed within the Γöé
*Γöé process environment of the message sender. Γöé
*Γöé So they must be obtained from the system again. Γöé
*Γöé Note that not all pushbuttons are defined, when Γöé
*Γöé WM_FOCUSCHANGE or WM_ACTIVATE is sent (only the buttons Γöé
*Γöé up to the defpushbutton are already there). Because we Γöé
*Γöé want to be able to act on all pushbuttons, we post a Γöé
*Γöé a trigger message and intercept that later through the Γöé
*Γöé input hook, because that one is processed after creation Γöé
*Γöé of the message box. Γöé
*Γöé Author : Wes Santee, C.Langanke Γöé
*Γöé Date : 1995 Γöé
*Γöé Update : 18.12.1995 Γöé
*Γöé called by : WinSendMsg API (???) Γöé
*Γöé calls : Win*, Dos* Γöé
*Γöé Input : HAB, PSMHSTRUCT, BOOL - parms of Send Message Hook Γöé
*Γöé Tasks : - intercepts focuschange messages Γöé
*Γöé - if it is a msgbox to process, post trigger message Γöé
*Γöé returns : VOID Γöé
*ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
*/
VOID _Export EXPENTRY SendMsgHook
(
HAB hab,
PSMHSTRUCT psmh,
BOOL fInterTask
)
{
// initialized ?
if (!fInitialized)
return;
// is it a focuschange and a "gain focus" message ?
if ((psmh->msg == WM_FOCUSCHANGE) && ( SHORT1FROMMP( psmh->mp2) == TRUE))
{
ULONG ulWindowID;
CHAR szClassName[ 32];
HWND hwndMessage;
HWND hwndIcon;
// focus change in effect, is it a frame window ?
WinQueryClassName( psmh->hwnd, sizeof( szClassName), szClassName);
if ( strcmp( szClassName, "#1") == 0)
{
// has it subcontrols with the magic res
// id for message text and icons ?
hwndIcon = WinWindowFromID( psmh->hwnd, ID_MSGBOX_ICON);
hwndMessage = WinWindowFromID( psmh->hwnd, ID_MSGBOX_MESSAGE);
if ((hwndIcon) && (hwndMessage))
{
APIRET rc;
CHAR szDialogMessage[ MESSAGE_MAXLEN];
ULONG i;
PACTIONPRFLIST pactionprflist = NULL;
PACTIONPRF pactionprf = NULL;
HMTX hmtxUpdate = 0;
do
{
// query message text
if (!WinQueryWindowText( hwndMessage,
sizeof( szDialogMessage),
szDialogMessage))
break;
// get access to named shared segment
// for the callers process environment
rc = DosGetNamedSharedMem( (PVOID *) &pactionprflist,
SEG_ACTIONPRFLIST,
PAG_READ | PAG_WRITE);
if (rc != NO_ERROR)
break;
// get handle to update sem
// for the callers process environment
rc = DosOpenMutexSem( SEM_UPDATE,
&hmtxUpdate);
if (rc != NO_ERROR)
break;
// get exclusive access to action profile list
rc = DosRequestMutexSem( hmtxUpdate,
SHAREDACCESS_WAIT);
if (rc != NO_ERROR)
break;
// loop through all profiles
for (i = 0, pactionprf = &pactionprflist->actionprf;
i < pactionprflist->ulActionCount;
i++, pactionprf = NEXTACTIONPRF( pactionprf))
{
// skip profiles marked inactive or deleted
if ((!pactionprf->fActive) || (pactionprf->fDeleted))
continue;
// is it the message stored in this action profile ?
if (strcmp( szDialogMessage,
pactionprf->szMessage) != 0)
continue;
else
{
// post trigger message with button and action
WinPostMsg( psmh->hwnd, WM_USER_MSGBOX_TRIGGER,
MPFROMSHORT(MP_USER_MSGBOX_TRIGGER),
MPFROM2SHORT( pactionprf->ulButton, pactionprf->ulAction));
// message found, so we're done
break;
} // end if "stored message"
} // end for "all messages"
} while (FALSE);
// release access to the shared segment
if (hmtxUpdate)
{
DosReleaseMutexSem( hmtxUpdate);
DosCloseMutexSem( hmtxUpdate);
}
// free shared segment
DosFreeMem( pactionprflist);
} // end if (hwndMessage)
} // if (hwndDesktop == hwndParent)
} // end if (psmh->msg == WM_FOCUSCHANGE )
return;
}
/*ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
*Γöé Name : InputHook Γöé
*Γöé Comment : Γöé
*Γöé Author : C.Langanke Γöé
*Γöé Date : 06.12.1995 Γöé
*Γöé Update : 06.12.1995 Γöé
*Γöé called by : PM message queue Γöé
*Γöé calls : Win*, Dos* Γöé
*Γöé Input : HAB, PQMSG, USHORT - parms of input hook Γöé
*Γöé Tasks : - intercepts trigger message and performs specified action Γöé
*Γöé on specified pushbutton. Γöé
*Γöé returns : BOOL - remove flag Γöé
*ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
*/
BOOL EXPENTRY InputHook
(
HAB hab,
PQMSG pqmsg,
USHORT usRemove
)
{
BOOL fRemove = FALSE;
static HWND hwndFocusChanged = NULLHANDLE;
// make sure that it is really our trigger message !
if ((pqmsg->msg == WM_USER_MSGBOX_TRIGGER) &&
(pqmsg->mp1 == (MPFROMSHORT(MP_USER_MSGBOX_TRIGGER))))
{
HWND hwndButton;
ULONG ulButton = SHORT1FROMMP( pqmsg->mp2);
ULONG ulAction = SHORT2FROMMP( pqmsg->mp2);
// determine button window
hwndButton = WinWindowFromID( pqmsg->hwnd, ulButton);
// act upon button only if it is there
if (hwndButton != NULLHANDLE)
{
switch (ulAction)
{
case ACTION_PRESS:
WinPostMsg( hwndButton, BM_CLICK, MPFROMLONG( FALSE), 0);
break;
case ACTION_DEFAULT:
// make sure to change focus only once per message box
if (pqmsg->hwnd != hwndFocusChanged)
{
WinSetFocus( WinQueryDesktopWindow( WinQueryAnchorBlock( pqmsg->hwnd), 0), hwndButton);
WinPostMsg( hwndButton, BM_SETDEFAULT, MPFROMLONG( TRUE), 0);
hwndFocusChanged = pqmsg->hwnd;
}
break;
case ACTION_DISABLE:
WinEnableWindow( hwndButton, FALSE);
break;
} // end switch
} // end if (hwndButton != NULLHANDLE)
// remove message
fRemove = TRUE;
} // end if ((pqmsg->msg == WM_USER_MSGBOX_TRIGGER) && ...
return fRemove;
}
ΓòÉΓòÉΓòÉ 10.2. erweiterte Listen ΓòÉΓòÉΓòÉ
Um eine bedienungsfreundliche Benutzerschnittstelle anbieten zu kФnnen,
verwendet SendYes! die folgenden leicht zu programmierenden und leicht zu
bedienenden Erweiterungen fБr Listen, nДmlich die FunktionalitДt des Direct
Manipulation ListBox (DMLB) Kontrollfeldes und des MultiColumn ListBox (MCLB)
PM Kontrollfeldes.
Dies erweitert normale Listen um die FДhigkeit, eine mehrspaltige Liste
anzeigen zu kФnnen und auсerdem Ziehen&Ъbergeben (Drag&Drop) zwischen Listen zu
unterstБtzen. Mit diesen Erweiterungen wird einige FunktionalitДt eines
Containers abgedeckt, sie sind aber wesentlich einfacher zu programmieren und
in der Bedienung schneller. SendYes! verwendet eine leicht modifizierte Version
des Direct Manipulation ListBox (DMLB) Kontrollfeldes.
Die kompletten Sourcen inclusive INF Referenzdatei sind auf IBM ftp Servern in
der Datei LB.ZIP erhДltich.
FБr weitere Informationen Бber die Programmierung dieser Kotrollfelder siehe
auch OS/2 Developer Magazine, Nov./Dez. 1995.
ΓòÉΓòÉΓòÉ 10.2.1. Direct Manipulation ListBox (DMLB) ΓòÉΓòÉΓòÉ
Auszug aus DMLB.INF:
Acknowledgments
This control was originally conceived at IBM Yorktown Research by Alan Warren.
The control was rewritten and enhanced by Mark McMillan of IBM, Research
Triangle Park, USA.
Description
The Direct Manipulation ListBox is a very useful enhancement for the standard
PM listbox control. It supplies the capability to support drag/drop reordering
of items in a listbox, and drag/drop of items from one listbox to another.
ΓòÉΓòÉΓòÉ 10.2.2. MultiColumn ListBox (MCLB) ΓòÉΓòÉΓòÉ
Auszug aus MCLB.INF:
Acknowledgments
This control was originally conceived at the IBM United Kingdom Warwick
Development group by Charles Cooper. The control was rewritten and enhanced by
Mark McMillan of IBM, Research Triangle Park, USA.
Description
The MultiColumn ListBox is a very useful PM custom control designed to overcome
some of the limitations of the standard PM listbox and container controls. It
is simpler and in many cases faster than a container, but provides multicolumn
(tabular) support for display of column-oriented data.
The MCLB supports individually sizable columns, optional horizontal scroll bars
at the base of each column, seperate font and color support for the titles and
column data, owner-drawn lists, and a simple listbox-style programming model.
The MCLB can be subclassed with the DMLB (Direct Manipulation ListBox) function
also supplied in this toolkit to provide drag/drop reordering capability to the
MCLB.
ΓòÉΓòÉΓòÉ 10.3. National Language Support ΓòÉΓòÉΓòÉ
SendYes! bietet zu Zeit englische und deutsche SprachunterstБtzung.
Das SendYes! Paket enthДlt eine zip Datei mit den sprachenspezifischen
Quelldateien fБr SendYes! in der englischen Version. Sie sind herzlich dazu
eingeladen, diese in Ihre Sprache zu Бbersetzen und per e-mail an mich zu
schicken. Als Dank wird Ihr Name ab der darauffolgenden Version von SendYes! im
Abschnitt SendYes! National Language Supporter erscheinen. Die
sprachenspezifischen Dateien sind:
SNDYSENG.RCH diese Datei enthДlt die Texte, die in der SendYes! GUI
verwendet werden
SNDYSENG.H diese Datei enthДlt die Seiten-Titel, die in der SendYes!
HLP und INF datei verwendet werden
SNDYSENG.SRC diese Datei enthДlt den Quellcode fБr die SendYes! HLP und
INF Datei
SNDYSENG.TXT diese Datei enthДlt die Meldungen fБr das SendYes!
Installationsprogramm und das Deinstallationsprogramm.
MACROS.IPH and
SENDYES.H diese Dateien enthalten Makros, die in SNDYSENG.SRC
verwendet werden. Ъbersetzer sollten diese Dateien nicht
verДndern, da sie nicht sprachenspezifisch sind. Sie
werden nur mitgeliefert, um die in der IPF Quelldatei
verwendeten Makros besser verstehen zu kФnnen.
Siehe auch
Das SendYes! Paket
ΓòÉΓòÉΓòÉ 10.4. IPFC Preprocessor ΓòÉΓòÉΓòÉ
FБr die Entwicklung der SendYes! HLP und INF Datei wird der IPFC Preprocessor
Version 1.0 von Doug Haigh verwendet.
Dieser PrДprozessor ermФglicht die Verwendung von
einfachen BookMaster Makros mit SchlБsselwort- und Positionsparametern.
Dies erleichtert stark die Verwendung von IPF Links, Autolinks und die
Fensterpositionierung.
C Headerdateien, die Бber ein spezielles SchlБsselwort (.imd) eingefБgt
werden. Die C-defines werden in BookMaster Symbole umgewandelt und kФnnen
dann mit BookMaster-Makros verwendet werden.
einzufБgenden Dateien, die sich nicht im aktuellen Verzeichnis befinden.
Sie werden auсderdem in dem Pfad gesucht, der durch die Umgebungsvariable
INCLUDE definiert wird.
Bookmaster 1.0 Vanilla conditional compile Variablen. Diese erlauben das
konditionelle Kompilieren von Teilen der IPF Quelldatei fБr die HLP Datei
und anderer Teile fБr die INF Datei, wДhrend der Rest fБr beide Dateien
kompiliert wird. Auf diese Weise ist es mФglich, eine einzige Quelldatei
fБr die HLP und fБr die INF Datei zu verwenden.
FБr weitere Informationen Бber sprachenspezifische Dateien und die englischen
Quelldateien fБr die HLP und INF Datei siehe auch
National Language Support
ΓòÉΓòÉΓòÉ 10.5. syslevel manager ΓòÉΓòÉΓòÉ
Zur Erstellung der SendYes! Syslevel Datei wurde der Syslevel Manager SLVMGR
von Duane S. Wood verwendet.
Das Paket, aus dem dieses Programm stammt, enthДlt diesen Manager als ein
Kommandozeilenutility, eine Textdatei, welche das Syslevel Dateiformat
beschreibt und eine einfache PM Anwendung zum einfachen Erstellen und/oder
Editieren von Syslevel Dateien.
Das Paket wurde zuletzt in 1993 aktualisiert, aber das Syslevel Dateiformat
scheint sich seitdem nicht verДndert zu haben.
ΓòÉΓòÉΓòÉ 11. Revisionshistorie ΓòÉΓòÉΓòÉ
Version 2.00
Version 1.10
Version 1.00
Version 0.70
Version 0.60
file_id.diz
═══ 11.1. Version 2.00 by C.Langanke (1. MДrz 1996) ═══
National Language Support implementiert. Meldungen, Dialoge und
Hilfetexte sind zur Zeit in Deutsch und Englisch verfБgbar.
Der Hook wird ab jetzt anstelle von SENDYES.EXE durch eine separate
Programmdatei geladen. Auf diese Weise wird der Hauptspeicherbedarf des
Hooks auf ein absolutes Minimum reduziert, wДhrend die FunktionalitДt der
Benutzerschnittstelle in SENDYES.EXE erweitert werden kann. Die Hook
Programmdatei kann nur durch SENDYES.EXE kontrolliert werden.
FБr technische Details Бber den SendYes! Hook siehe auch
Die SendYes! PM Hooks in Technische Details
Die Programmdatei, welche den SendYes! Hook lДdt, wird nun vom
Systemabschluсverfahren ausgeschlossen. Auf diese Weise verbleibt es im
Hauptspeicher, bis alle Textsitzungen geschlossen sind.
Wenn SENDYES.EXE ohne Parameter aufgerufen wird, erscheint die neue
SendYes! GUI. Sie besteht aus einem Notizbuch, welches fast wie ein
Einstellungsnotizbuch eines WPS Objektes verwendet werden kann. Es
erlaubt die Definition von Aktionsprofilen, um jeden gewБnschten
Meldungsdialog angeben zu kФnnen, der automatisch bearbeitet werden soll.
Die GUI verwendet die FunktionalitДt des Direct Manipulation ListBox
(DMLB) Kontrollfeldes und des MultiColumn ListBox (MCLB) PM
Kontrollfeldes, um eine bedienerfreundliche und dennoch schnelle GUI
anbieten zu kФnnen.
FБr witere technische Details siehe auch
erweiterte Listen in Technische Details
SendYes! stellt drei vordefinierte Aktionsprofile fБr die Meldungsdialoge
zur VerfБgung, die erscheinen, wenn OS/2 oder DOS VIO oder
Vollbildschirm-Textsizungen geschlossen werden oder ein Systemabschluс
durchgefБhrt wird.
Auf diese Weise wird die FunktionalitДt von vorherigen SendYes! Versionen
unterstБtzt, ohne daс SendYes! dafБr zuvor durch den Benutzer
konfiguriert werden muс.
TESTALL.CMD wurde entfernt. Das Schlieсen von Testsitzungen kann nun auf
der Aktions-Seite in der SendYes! GUI getestet werden. Auf diese Weise
kann SendYes! dafБr sorgen, daс die entsprechenden vordefinierten
Aktionsprofile wirklich aktiv sind, wenn sie getestet werden sollen.
Siehe auch
Wie kann ich vordefinierte Aktionsprofile testen ?
SendYes! enthДlt ein Installationsprogramm, das einen SendYes! Ordner auf
der ArbeitsoberflДche erstellt. Dieser Ordner enthДlt wiederum einige
SendYes! WPS Programmobjekte. Mit dem Deinstallationsprogramm kФnnen
diese objekte wieder entfernt werden.
Wenn Sie den Auswahlcursor innerhalb des SendYes! Ordners bewegen und
dann die F1 Taste drБcken, wird das entsprechende Hilfefenster
erscheinen.
Neue Kommandozeilenparameter:
- /LOAD
- /UNLOAD
- /ACTIVATE
- /DEACTIVATE
- /STATUS
- /BATCH
- /QUIET
Nicht mehr unterstБtzte Kommandozeilenparameter:
- Der Parameter /SWITCHENTRY wird nicht lДnger unterstБtzt. Die Hook
Programmdatei kann ausschlieсlich nur Бber die SendYes! GUI oder
Бber die Parameter /UNLOAD and /LOAD bzw. /ACTIVATE und /DEACTIVATE
fБr SENDYES.EXE gesteuert werden.
- Der Parameter /CLOSE wurde durch den Parameter /UNLOAD ersetzt. Der
neue Parameter schlieсt nicht mehr eine aktive Instanz von
SENDYES.EXE, sondern stattdessen eine aktive instanz der nun davon
getrennten Hook Programmdatei.
Online Hilfe Buch hinzugefБgt (Sie lesen es garade). Beachten Sie, daс
die Hilfe Datei fБr die SendYes! GUI ein Auszug dieser INF Datei ist.
SendYes! enthДlt nun eine Syslevel Datei, die die Version von SendYes!
anzeigt, wenn der OS/2 Befehl syslevel ausgefБhrt wird.
FБr weitere informationen Бber die SendYes! Syslevel Datei siehe auch
syslevel manager
Der grФсte Teil der Quelldateien wird nicht mehr weitergegeben. Der
Umfang aller SendYes! Quelldateien ist so groс geworden, daс ich ab
sofort nur noch folgende Teile weitergebe:
- die Quelldateien fБr den Hook und die Hook Programmdatei sind in
dieser INF Datei enthalten. Ich glaube, sie dБrften am meisten von
Interesse sein.
- Die Quelldatei(en) fБr die HLP und die INF Datei. Sie enthalten
einige Techniken fБr die Entwicklung von Online Hilfe-BБchern mit
den IPFC Preprocessor BookMaster Makros und Variablen zur
konditionellen Kompilierung.
Siehe auch
Die SendYes! PM Hooks
IPFC Preprocessor
National Language Support
Die anderen Quelldateien enthalten lediglich normale GUI FunktionalitДt,
fБr die weitere Informationen aus dem Programmers Toolkit entnommen
werden kФnnen (von wo auch ich alle Informationen erhalten habe).
Wenn Sie darБber hinaus Fragen haben, mailen Sie mir diese zu und ich
werden mein Bestes tun, um diese zu beantworten.
ΓòÉΓòÉΓòÉ 11.2. Version 1.10 by C.Langanke (13. Oktober 1995) ΓòÉΓòÉΓòÉ
SendYes! wurde mit IBM C Set++ V2 kompiliert.
Das emx runtime wird nicht lДnger benФtigt.
Neue Kommandozeilenparameter:
- Parameter /? oder /Help zeigt eine kurze Hilfe an.
- Parameter /Close schlieсt eine aktive Instanz von SendYes!. Wenn
SendYes! micht aktiv ist, wird ein Fehlermeldungsdialog angezeigt.
- Parameter /Batch unterdrБckt Meldungsdialoge und generiert
stattdessen Informations- bzw. FehlertФne.
- Parameter /Switchentry erstellt analog zu /S in SendYes! V1.00 einen
Eintrag in der Fensterliste
- die Parameternamen kФnnen wahlweise groс und klein geschrieben
werden.
- Anstelle eines SchrДgstriches kФnnen Sie auch das Minuszeichen
verwenden - das heiсt, daс z.B. die Parameter /load und -load
gleichwertig sind.
- es reicht aus, nur den ersten Buchstaben des Schalternamens
anzugeben - das heiсt, daс .z.B. die Parameter /b und /batch (oder
-b und -batch) ebenfalls gleichwertig sind.
Eine Fehler-Meldungsdialog wird angezeigt, wenn
- SendYes! bereits aktiv ist
- SendYes! nicht richtig initialisiert werden kann
- SendYes! nicht aktiv ist, wenn es mit dem Parameter /C geschlossen
werden soll
- ein ungБltiger Parameter angegeben wurde
Ein Informations-Meldungsdialog wird angezeigt, wenn
- SendYes! erfolgreich mit dem Parameter /C geschlossen werden konnte.
Nur noch Meldungsdialoge, deren Meldungstexte mit "This message may
contain an active program." werden geschlossen. Dies hДlt SendYes! davon
ab, jeden beliebigen Meldungsdialog mit MBID_YES zu schlieсen, wie dies
bis jetzt der Fall war. SendYes! liest den richtigen Meldungstext aus PM
Resourcen-DLLs, daher sollte es sprachenneutral sein. UnglБcklicherweise
ist der Meldungstext fБr das Schlieсen von OS/2
Vollbildschirm-Textsitzungen im zweiten Satz etwas anders, daher wird der
Meldungstext nur bis zum ersten Punkt verglichen.
Ich hoffe, daс dies unter allen zukБnftigen OS/2-Versionen kompatibel
sein wird und wirklich zu allen unterschiedlichen OS/2-Versionen
verschiedener Sprachen kompatibel ist. Um es auszutesten:
FБhren sie TESTALL.CMD aus, um alle vier Arten von Textsitzungen zu
erstellen und Schlieсen Sie diese, wДhrend SendYes! aktiv ist:
wenn sie ohne BestДtigungsdialoge schlieсen, funktioniert alles gut.
Wenn nicht, teilen Sie es mir bitte per e-mail mit...
ΓòÉΓòÉΓòÉ 11.3. Version 1.00 by Wes Santee (26. August 1995) ΓòÉΓòÉΓòÉ
Now using emx0.9a, fix 6 (emxfix06.zip). Be sure to get the updated
emxrt.zip runtime DLL's (see README.TXT)
'/S' parameter now tells SendYes! to put an entry in the switch list
SendYes! icon now bound to executable file
ΓòÉΓòÉΓòÉ 11.4. Version 0.7 by Wes Santee (17. Juni 1995) ΓòÉΓòÉΓòÉ
Now using emx0.9a, fix 5 (emxfix05.zip). Be sure to get the updated
emxrt.zip runtime DLL's.
Wouldn't close full-screen sessions. Fixed.
ΓòÉΓòÉΓòÉ 11.5. Version 0.6 by Wes Santee (29. Mai 1995) ΓòÉΓòÉΓòÉ
Initial release
ΓòÉΓòÉΓòÉ 11.6. file_id.diz ΓòÉΓòÉΓòÉ
(v2.00) SendYes! - PM/WPS background utility
SendYes! processes standard message boxes
that you define SendYes! action profiles for
automatically and performs one of three
possible actions on one of the pushbuttons.
No more confirmation boxes for closing a
DOS or OS/2 windowed or fullscreen text
session if you don't like them. New GUI !
German and english NLS support ! Freeware !
Author/Maintainer: cla@oerag.de.
ΓòÉΓòÉΓòÉ 12. Danksagungen ΓòÉΓòÉΓòÉ
Idee fБr SendYes!
erweiterte Listen
IPFC Preprocessor
syslevel manager
SendYes! National Language Supporter
═══ 12.1. Idee fБr SendYes! ═══
Aller Dank fБr die Idee und das Erstellen der ersten Version von SendYes!
gebБhrt Wes Santee.
ΓòÉΓòÉΓòÉ 12.2. erweiterte Listen ΓòÉΓòÉΓòÉ
Die SendYes! GUI verwendet neue Listen-Kontrollfelder, die die
LeistungsfДhigkeit von Listen sehr erweitern.
Diese FunktionalitДt ermФglichte mir eine einfache Programmierung und allen
Benutzern eine einfache Handhabung. Aller Dank dafБr gebБhrt
Alan Warren von IBM, Yorktown Research und
Mark McMillan von IBM, Research Triangle Park, USA
fБr das Direct Manipulation ListBox (DMLB) Kontrollfeld und
Charles Cooper von IBM, United Kingdom Warwick Development group und
Mark McMillan von IBM, Research Triangle Park, USA.
fБr das MultiColumn ListBox (MCLB) Kontrollfeld.
FБr technische Einzelheiten siehe auch
erweiterte Listen in Technische Details
ΓòÉΓòÉΓòÉ 12.3. IPFC Preprocessor ΓòÉΓòÉΓòÉ
FБr das VorБbersetzen der Quelldatei fБr die HLP und INF Dateien wurde der
IPFC Preprocessor Version 1.0 von Doug Haigh verwendet.
FБr technische Einzelheiten siehe auch
IPFC Preprocessor in Technische Details
ΓòÉΓòÉΓòÉ 12.4. syslevel manager ΓòÉΓòÉΓòÉ
FБr die Erstellung der Syslevel Datei von SendYes! wurde der syslevel Manager
SLVMGR verwendet. Dieses Programm stammt von Duane S. Wood vom OS/2
Development Boca Raton, Florida.
FБr technische Einzelheiten siehe auch
syslevel manager in Technische Details
ΓòÉΓòÉΓòÉ 12.5. SendYes! National Language Supporter ΓòÉΓòÉΓòÉ
Tut mir leid, es haben sich noch keine Ъbersetzer gemeldet ...
Wenn Ihre Sprache noch nicht von SendYes! unterstБtzt wird und Sie mir helfen
wollen, Ihre Sprache zu unterstБtzen, lesen Sie bitte auch National Language
Support.
ΓòÉΓòÉΓòÉ <hidden> rechte Maustaste ΓòÉΓòÉΓòÉ
Der Begriff der rechten Mausktaste, wie er in dieser Online Hilfe-Datei
verwendet wird, trifft nur dann auf Sie zu, wenn sie nicht die Einstellungen
des Maus-Objektes im Ordner Systemkonfiguration verДndert haben.
Die folgenden Einstellungen haben einen Einfuс darauf, wie SendYes! bei der
Verwendung der rechten Maustaste arbeitet. Wenn Sie diese verДndern, mБssen Sie
die Maus so verwenden, wie Sie sie konfiguriert haben.
Beachten Sie, daс die rechte Maustaste im allgemeinen auch als Maustaste 2
bezeichnet wird.
Konfiguration
LinkshДnder (vertauscht Maustaste 1 und 2)
Tasten
Auswahl von Maustaste 1 fБr Objekte ziehen
Anmerkung: Wenn Sie Aktionsprofile mit der Maustaste 1 ziehen,
ist der Mauszeiger fБr Ziehen nicht sichtbar. Das Ziehen ist
dennoch mФglich.
Auswahl einer anderen Einstellung fБr KontextmenБs anzeigen als 1
x Klicken der Taste 2 ohne Steuerungstasten