Zugriffe auf Systemparameter ([cX.X]) (siehe auch [System.X]):
AktFenster | Titel des im System aktuellen Fensters |
AktFensterNummer | Windows-Handle des im System aktiven Fensters |
AnzahlSchriften | liefert die Anzahl der installierten Windows-Schriftarten |
Clipboard | ergibt den aktuellen Textinhalt der Zwischenablage (änderbar) Wahlweise kann als Parameter eine Bezeichnung angegeben werden, unter der der Inhalt in der Zwischenablage abgelegt wird, z.B. [Clipboard MeinClipName]. Hierdurch können mehrere Inhalte gleichzeitig in der Zwischenablage abgelegt werden. Siehe auch: [Clipboard.X] |
DDE | empfangener DDE-Text bzw. -Befehl (siehe DDE-Kommunikation) (änderbar) |
DDEName | holt/setzt den DDE-Zielnamen (Vorgabe: clickEXE) (änderbar) |
ExterneMeldung | sendet/ermittelt einen Meldungswert (per SendMessage()), mit dem Skripte untereinander Meldungen austauschen können (siehe Marke ::ExterneMeldungEmpfangen und [Clipboard.X] für den Austausch von Texten) Hinweis: Um einen Text an ein anderes Programm zu senden, bietet sich etwa eine Kombination zwischen der Ablage des Textes in einem benannten Clipboard-Format (s.o.) und einer solchen Nachricht an. |
ExterneMeldungP | Wie [ExterneMeldung], nur dass hier PostMessage() verwendet wird |
Schrift X | ergibt die Windows-Schriftart Nummer X |
SchriftenListe | liefert eine Liste aller installierten Schriften |
Schriftgröße | enthält die zuletzt mit dem Befehl Schrift wählen ausgewählte Schriftgröße in Punkt (auch für Vorgabe) |
SendeTasten X | sendet die angegebene Tastensequenz X (siehe auch Tasten-Befehl) |
SendeTastencode X | sendet den unter X angegebenen Tastaturcode (X=0..255, z.B. 112 für [F1]-Taste) Optional kann als 2. Parameter angegeben werden: 1=Sondertaste (z.B. bei Feststelltaste mit X=20), 2=Taste loslassen, 3=beides, also etwa "Setze in [cX.SendeTastenCode]: 112;2" für F1-Taste loslassen |
WinDir | Windows-Pfad |
WinSysDir | Windows-Systempfad |
WinVersion | aktuelle Windows-Version (z.B. 4,1=Windows 98; 4,0=Windows NT 4; 3,1=Win32s; 5,1=Windows XP) |
WinNT | ergibt -1, wenn Windows NT läuft |
WindowsAbout | (nur Setzen) Anzeige des Windows-Aboutdialoges; Zu setzende Werte: Beschreibung, Programmname |
WinMessage | (nur Setzen) Senden einer Windows-Message; Zu setzende Werte: hWnd,Msg,wParam,lParam (siehe auch ::Message_Empfang_xx). Wird die Angabe für lParam in Anführungszeichen gesetzt, wird dieser Parameter als Text übergeben. Unten finden Sie auch ein Beispiel dazu. |
WinMessageErgebnis | liefert Ergebnis der letzten [WinMessage] |
Message.Nummer | Nummer der in ::Message_Empfang empfangenen Message |
Message.lParam | lParam der in ::Message_Empfang empfangenen Message |
Message.wParam | wParam der in ::Message_Empfang empfangenen Message |
SpezialVerzeichnis n
liefert den Pfad eines Windows-Spezialverzeichnisses, wobei n das gewünschte Verzeichnis angibt:
0=Desktop, 2=Startmenü\Programme, 5=Eigene Dateien, 6=Favoriten, 7=Autostart, 8=Dokumente, 9=Senden an, 11=Startmenü, 19=Netzwerkumgebung, 20=Fonts, 21=Vorlagen, Alle User (Windows NT): 22=Startmenü, 23=Programme, 24=Autostart,
25=Desktop (alle), 26=Benutzer-Anwendungsdaten, 27=Benutzer Druckerumgebung, 28=Benutzer-Anwendungsdaten (lokale Einstellungen),
29=Autostart2, 30=Autostart (alle), 31=Favoriten (alle),
32=Internet Cache, 33=Cookies, 34=Historie, 35=Anwendungsdaten (alle), 36=Windows, 37=System, 38=Programme,
39=Meine Bilder, 40=Profil, 41=System X86, 42=Programme X86, 43=Gemeinsame Daten, 44=Gemeinsame Daten X86,
45=Vorlagen (alle), 46=Dokumente (alle), 47=Verwaltung (alle), 48=Verwaltung
Hinweis: Diese Konstanten sind auch in der Variablenauswahl aufgeführt.
Da einige der System-Variablen schon in den anderen Kapiteln behandelt wurden, beschränken wir uns bei den Beispielen auf die Variablen "Clipboard" und "WinMessage".
Beispiel "Clipboard":
*** Anzeigefenster aufbauen Anzeigefenster 'Variable: Clipboard' (ID='Demofenster', Aktivieren) Anzeige-Element Bezeichner: 'Clipboard Nr.: 1' (ID='Bezeichner1') Anzeige-Element Eingabe: (ID='Clipboard_Eingabe_1') Anzeige-Element Bezeichner: 'Clipboard Nr.: 2' (ID='Bezeichner2') Anzeige-Element Eingabe: (ID='Clipboard_Eingabe_2') Anzeige-Element Button: 'Inhalt aus Clipboard 1 einfügen' (ID='Clip_Button1') Anzeige-Element Button: 'Inhalt aus Clipboard 2 einfügen' (ID='Clip_Button2') Anzeige-Element Button: 'Inhalt aus Clipboard einfügen' (ID='Clip_Button3', farbig) Anzeige-Element Bezeichner: 'Clipboard Inhalt:' (ID='Bezeichner3') Anzeige-Element Eingabe: (ID='Clipboard_Ausgabe', nur Lesen, mehrzeilig) Anzeige-Element Button: 'Demo beenden' (ID='Ende_Button', zentriert, Vorgabe)
*** Auf ein Ereignis warten Warte endlos...
*** Wenn in der 1. Eingabezeile eine Veränderung (Eingabe) stattfindet *** wird die Eingabe ins Clipboard "MeinClip1" gesetzt. :: Anzeige_Element(Clipboard_Eingabe_1)_Verändert Setze in [Clipboard MeinClip1]: '[.Element(Clipboard_Eingabe_1)]' Zurück
*** Wenn in der 2. Eingabezeile eine Veränderung (Eingabe) stattfindet *** wird die Eingabe ins Clipboard "MeinClip2" gesetzt. :: Anzeige_Element(Clipboard_Eingabe_2)_Verändert Setze in [Clipboard MeinClip2]: '[.Element(Clipboard_Eingabe_2)]' Zurück
*** Beim Betätigen einer der beiden Buttons 1 oder 2 wird der entsprechende Inhalt *** aus den Clipboards in das Ausgabefeld geschrieben :: Anzeige_Element(Clip_Button1)_Klick Setze in [.Element(Clipboard_Ausgabe)]: '[Clipboard MeinClip1]' Zurück :: Anzeige_Element(Clip_Button2)_Klick Setze in [.Element(Clipboard_Ausgabe)]: '[Clipboard MeinClip2]' Zurück
*** Beim Betätigen des Button 3 wird der Inhalt des "Standard-Clipboards" *** in das Ausgabefeld geschrieben *** Probieren Sie es aus: kopieren Sie hier im Editor eine Zeile ins Clipboard *** mit dem Befehl "Bearbeiten > Kopieren" oder mit der Tastenkombination <Strg>+<c> *** starten Sie dann das Skript und klicken Sie auf den gelben Button. :: Anzeige_Element(Clip_Button3)_Klick Setze in [.Element(Clipboard_Ausgabe)]: '[Clipboard]' Zurück
*** Wird der Button "Demo beenden" angeklickt, wird das Programm verlassen :: Anzeige_Element(Ende_Button)_Klick Beende Skript Zurück |
Das Beispielskript erzeugt folgendes Anzeigefenster:
Wenn Sie etwas in der 1. Eingabezeile eingeben, wird der Inhalt dieser Zeile automatisch in das Clipboard "MeinClip1" kopiert. Bei einer Eingabe in der 2. Eingabezeile verhält es sich entsprechend. Mit den beiden Buttons "Inhalt aus Clipboard 1 bzw. 2 einfügen", wird der Inhalt des Clipboards in das Ausgabefeld geschrieben. Der gelbe Button kopiert den Inhalt des "Standard-Clipboards" (also wenn Sie zum Beispiel im click.EXE-Editor eine Zeile kopiert haben) in das Ausgabefeld.
Beispiel "Clipboard" als cX2Web-Code:
**cX4031E8 849E39S214 1CMQkwCQkg QW56ZWlnZW ZlbnN0ZXIg YXVmYmF1ZW 4NCjM5CTAJ CSBWYXJpYW JsZTogQ2xp cGJvYXJkCU dEZW1vZmVu c3RlcglXOT ksNQlIMTAy LDUJQw0KMz gJMAkJIENs aXBib2FyZC BOci46IDEJ SUJlemVpY2 huZXIxCVg1 CVk4CVcyMC w1CUgzLDUJ TA0KMzgJMA kJSUNsaXBi b2FyZF9FaW 5nYWJlXzEJ WDI3CVk2LD UJVzY1CUg2 CVQNCjM4CT AJCSBDbGlw Ym9hcmQgTn IuOiAyCUlC ZXplaWNobm VyMglYNQlZ MTcsNQlXMj AsNQlIMyw1 CUwNCjM4CT AJCUlDbGlw Ym9hcmRfRW luZ2FiZV8y CVgyNwlZMT YJVzY1CUg2 CVQNCjM4CT AJCSBJbmhh bHQgYXVzIE NsaXBib2Fy ZCAxIGVpbm b8Z2VuCUlD bGlwX0J1dH RvbjEJWDI3 CVkyNglXND gJSDcNCjM4 CTAJCSBJbm hhbHQgYXVz IENsaXBib2 FyZCAyIGVp bmb8Z2VuCU lDbGlwX0J1 dHRvbjIJWD I3CVkzNAlX NDgJSDcNCj M4CTAJCSBJ bmhhbHQgYX VzIENsaXBi b2FyZCBlaW 5m/GdlbglJ Q2xpcF9CdX R0b24zCVgy NwlZNDIJVz Q4CUg3CUYx NA0KMzgJMA kJIENsaXBi b2FyZCBJbm hhbHQ6CUlC ZXplaWNobm VyMwlYNQlZ NjAJVzIwLD UJSDMsNQlM DQozOAkwCQ lJQ2xpcGJv YXJkX0F1c2 dhYmUJWDI3 CVk1Miw1CV c2NQlIMjAJ VAlPCU0NCj M4CTAJCSBE ZW1vIGJlZW 5kZW4JSUVu ZGVfQnV0dG 9uCVk4MAlX NzUJSDcsNQ laCUQNCjAJ MAkNCjEJMA kJIEF1ZiBl aW4gRXJlaW duaXMgd2Fy dGVuDQozMQ kwCQlFDQow CTAJDQoxCT AJCSBXZW5u IGluIGRlci AxLiBFaW5n YWJlemVpbG UgZWluZSBW ZXLkbmRlcn VuZyAoRWlu Z2FiZSkgc3 RhdHRmaW5k ZXQNCjEJMA kJIHdpcmQg ZGllIEVpbm dhYmUgaW5z IENsaXBib2 FyZCAiTWVp bkNsaXAxIi BnZXNldHp0 Lg0KMTkJMA kJIEFuemVp Z2VfRWxlbW VudChDbGlw Ym9hcmRfRW luZ2FiZV8x KV9WZXLkbm RlcnQNCjIy CTAJCT1DbG lwYm9hcmQg TWVpbkNsaX AxCSBbQW56 ZWlnZShEZW 1vZmVuc3Rl cikuRWxlbW VudChDbGlw Ym9hcmRfRW luZ2FiZV8x KV0NCjQ1CT AJDQowCTAJ DQoxCTAJCS BXZW5uIGlu IGRlciAyLi BFaW5nYWJl emVpbGUgZW luZSBWZXLk bmRlcnVuZy AoRWluZ2Fi ZSkgc3RhdH RmaW5kZXQN CjEJMAkJIH dpcmQgZGll IEVpbmdhYm UgaW5zIENs aXBib2FyZC AiTWVpbkNs aXAyIiBnZX NldHp0Lg0K MTkJMAkJIE FuemVpZ2Vf RWxlbWVudC hDbGlwYm9h cmRfRWluZ2 FiZV8yKV9W ZXLkbmRlcn QNCjIyCTAJ CT1DbGlwYm 9hcmQgTWVp bkNsaXAyCS BbQW56ZWln ZShEZW1vZm Vuc3Rlciku RWxlbWVudC hDbGlwYm9h cmRfRWluZ2 FiZV8yKV0N CjQ1CTAJDQ owCTAJDQox CTAJCSBCZW ltIEJldOR0 aWdlbiBlaW 5lciBkZXIg YmVpZGVuIE J1dHRvbnMg MSBvZGVyID Igd2lyZCBk ZXIgZW50c3 ByZWNoZW5k ZSBJbmhhbH QNCjEJMAkJ IGF1cyBkZW 4gQ2xpcGJv YXJkcyBpbi BkYXMgQXVz Z2FiZWZlbG QgZ2VzY2hy aWViZW4NCj E5CTAJCSBB bnplaWdlX0 VsZW1lbnQo Q2xpcF9CdX R0b24xKV9L bGljaw0KMj IJMAkJPUFu emVpZ2UoRG Vtb2ZlbnN0 ZXIpLkVsZW 1lbnQoQ2xp cGJvYXJkX0 F1c2dhYmUp CSBbY1guQ2 xpcGJvYXJk IE1laW5DbG lwMV0NCjQ1 CTAJDQoxOQ kwCQkgQW56 ZWlnZV9FbG VtZW50KENs aXBfQnV0dG 9uMilfS2xp Y2sNCjIyCT AJCT1Bbnpl aWdlKERlbW 9mZW5zdGVy KS5FbGVtZW 50KENsaXBi b2FyZF9BdX NnYWJlKQkg W2NYLkNsaX Bib2FyZCBN ZWluQ2xpcD JdDQo0NQkw CQ0KMQkwCQ kgQmVpbSBC ZXTkdGlnZW 4gZGVzIEJ1 dHRvbiAzIH dpcmQgZGVy IEluaGFsdC BkZXMgIlN0 YW5kYXJkLU NsaXBib2Fy ZHMiDQoxCT AJCSBpbiBk YXMgQXVzZ2 FiZWZlbGQg Z2VzY2hyaW ViZW4NCjEJ MAkJIFByb2 JpZXJlbiBT aWUgZXMgYX VzOiBrb3Bp ZXJlbiBTaW UgaGllciBp bSBFZGl0b3 IgZWluZSBa ZWlsZSBpbn MgQ2xpcGJv YXJkDQoxCT AJCSBtaXQg ZGVtIEJlZm VobCAiQmVh cmJlaXRlbi A+IEtvcGll cmVuIiBvZG VyIG1pdCBk ZXIgVGFzdG Vua29tYmlu YXRpb24gPF N0cmc+Kzxj Pg0KMQkwCQ kgc3RhcnRl biBTaWUgZG FubiBkYXMg U2tyaXB0IH VuZCBrbGlj a2VuIFNpZS BhdWYgZGVu IGdlbGJlbi BCdXR0b24u DQoxOQkwCQ kgQW56ZWln ZV9FbGVtZW 50KENsaXBf QnV0dG9uMy lfS2xpY2sN CjIyCTAJCT 1BbnplaWdl KERlbW9mZW 5zdGVyKS5F bGVtZW50KE NsaXBib2Fy ZF9BdXNnYW JlKQkgW2NY LkNsaXBib2 FyZF0NCjQ1 CTAJDQowCT AJDQoxCTAJ CSBXaXJkIG RlciBCdXR0 b24gIkRlbW 8gYmVlbmRl biIgYW5nZW tsaWNrdCwg d2lyZCBkYX MgUHJvZ3Jh bW0gdmVybG Fzc2VuDQox OQkwCQkgQW 56ZWlnZV9F bGVtZW50KE VuZGVfQnV0 dG9uKV9LbG ljaw0KNQkw CQlDDQo0NQ kwCQ0K=* |
Wer sich mit den Windows-Messages auskennt, kann damit auch in click.EXE arbeiten. Die betroffene Message in unserem Beispiel heisst "WM_GETTEXTLENGTH" und hat den Wert 14 (&HE).
Beispiel "WinMessage":
Schleife Ab Setze in [WinMessage]: '[AktFensterNummer],&HE ,0,0' Status "Länge des aktuellen Fenstertitels: [WinMessageErgebnis]¶Titel: [Fenster.Titel #Nummer=[AktFensterNummer]]" Schleife Bis |
Das Beispielskript erzeugt folgendes Anzeigefenster:
Beispiel "WinMessage" als cX2Web-Code:
**cX400490 42B389S214 1CMzMJMAkJ UzEJRTINCj IyCTAJCT1j WC5XaW5NZX NzYWdlCSBb Y1guQWt0Rm Vuc3Rlck51 bW1lcl0sJk hFICwwLDAN CjQxCTAJCS BM5G5nZSBk ZXMgYWt0dW VsbGVuIEZl bnN0ZXJ0aX RlbHM6IFtj WC5XaW5NZX NzYWdlRXJn ZWJuaXNdtl RpdGVsOiBb RmVuc3Rlci 5UaXRlbCAj TnVtbWVyPV tjWC5Ba3RG ZW5zdGVyTn VtbWVyXV0N CjM0CTAJDQ o==* |
cX-Webseite: http://www.clickexe.de