Entwickler-Ecke

Windows API - Wie benutzte ich eine API mit Delphi ?


ski20 - Mo 02.06.08 15:33
Titel: Wie benutzte ich eine API mit Delphi ?
Hi Alle,
Will in meine Prog. ein aufruf eine API machen !, habe diese infos bekommen. Aber wie mache ich das ??, was muß wo eingetragen werden ?.

Softkeyboard API
Send Messages to the Softkeyboard
SHOW SOFTKEYBOARD
Description
Shows the Softkeyboard on the screen.

Definition
static UINT SOFTKEYBOARD_MSG_OPEN;
Registration
SOFTKEYBOARD_MSG_OPEN =
::RegisterWindowMessage(_T("SOFTKEYBOARD_MSG_OPEN"));
Usage

::PostMessage(HWND_BROADCAST, SOFTKEYBOARD_MSG_OPEN,0, 0);

Danke
Ski


mkinzler - Mo 02.06.08 15:39

Befindet sich die API in einer Dll?


ski20 - Mo 02.06.08 15:44
Titel: API
gute frage ...... da sonst nichts anderes steht in der Tech Anleitung ....sag ich nein (wenn das möglich ist).

Ski


Reinhard Kern - Mo 02.06.08 17:32
Titel: Re: Wie benutzte ich eine API mit Delphi ?
user profile iconski20 hat folgendes geschrieben:
Hi Alle,
Will in meine Prog. ein aufruf eine API machen !, habe diese infos bekommen. Aber wie mache ich das ??, was muß wo eingetragen werden ?.

Softkeyboard API
Send Messages to the Softkeyboard
SHOW SOFTKEYBOARD
Description
Shows the Softkeyboard on the screen.

Definition
static UINT SOFTKEYBOARD_MSG_OPEN;
Registration
SOFTKEYBOARD_MSG_OPEN =
::RegisterWindowMessage(_T("SOFTKEYBOARD_MSG_OPEN"));
Usage

::PostMessage(HWND_BROADCAST, SOFTKEYBOARD_MSG_OPEN,0, 0);

Danke
Ski


Hallo,

das ist nicht die übliche Art von API - anscheinend soll man mit dem Softkeyboard einfach mit Windows-Messages kommunizieren. Für das obige Beispiel musst du noch wissen, was SOFTKEYBOARD_MSG_OPEN für einen Wert hat, es ist eine Integer-Konstante, die im C++-Sourcecode irgendwo definiert sein muss.

Gruss Reinhard


Jakob_Ullmann - Mo 02.06.08 17:35

Puh, kannst du die Infos bitte ein bissel formatieren? Möglichst so, wie es in der Anleitung war. Und wenn was eingerückt ist, bitte auch (aber mit _), weil dann könnte vll auch jemand verstehen, was dort steht.


ski20 - Mo 02.06.08 18:37
Titel: API
Huuummm Danke erstmal für eurer hilfe. Ich weiß nicht ob die infos korrekt und vollständig sind weil ich nie mit sowas zutun gehabt habe (hoffe auf euer hilfe), ich habe es aus eine pdf kopiert die offensichtlich dafür gedacht worde ...zu zeigen wie man das selbst aufruft. Man kann auch große und position ändern aber hier noch mal der code für das EINBLENDEN und AUSBLENDEN ....das was ich brauche :-). Ich kann der original PDF zuschicken!! So jetzt noch mal die Code ohne einrücken ... thanks guys

SHOW SOFTKEYBOARD
Description
Shows the Softkeyboard on the screen.

Definition
static UINT SOFTKEYBOARD_MSG_OPEN;

Registration
SOFTKEYBOARD_MSG_OPEN =::RegisterWindowMessage(_T("SOFTKEYBOARD_MSG_OPEN"));

Usage
::PostMessage(HWND_BROADCAST, SOFTKEYBOARD_MSG_OPEN,0, 0);

HIDE SOFTKEYBOARD
Description
Hides the Softkeyboard on the screen.

Definition

static UINT SOFTKEYBOARD_MSG_ICONIZE;;

Registration

SOFTKEYBOARD_MSG_ICONIZE =::RegisterWindowMessage(_T("SOFTKEYBOARD_MSG_ICONIZE"));

Usage

::PostMessage(HWND_BROADCAST, SOFTKEYBOARD_MSG_ICONIZE,0, 0);


Hope that helps..


Martok - Mo 02.06.08 18:43

Wo ist jetzt eigentlich das Problem?


Delphi-Quelltext
1:
2:
3:
4:
5:
var SOFTKEYBOARD_MSG_OPEN: DWORD;
begin
  SOFTKEYBOARD_MSG_OPEN:= RegisterWindowMessage('SOFTKEYBOARD_MSG_OPEN');
  PostMessage(HWND_BROADCAST, SOFTKEYBOARD_MSG_OPEN,0, 0); 
end;


Und analog für die andere Funktion.


ski20 - Mo 02.06.08 18:44
Titel: API aufruf
Vielleicht ..anderes gefragt .....was musste ich ...WIE ...definieren um

::PostMessage(HWND_BROADCAST, SOFTKEYBOARD_MSG_OPEN,0, 0);

aufrufen zu können ?


Martok - Mo 02.06.08 19:12

Nichts ;)

PostMessage ist in Windows.pas, HWND_BROADCAST AFAIK auch. Dieses :: ist wegen dem Namespace, die Beispiele scheinen dann wohl C++ zu sein.

Naja, und wo die Konstante her kommt steht ja dran: deren Wert wird von RegisterWindowMessage erzeugt.


ski20 - Mo 02.06.08 19:24
Titel: API
Danke Martok .....habe PostMessage(HWND_BROADCAST, SOFTKEYBOARD_MSG_OPEN,0, 0); in meine code eingefügt ..compiled nicht ...mit "undefinierter bezeichner SOFTKEYBOARD_MSG_OPEN" und ich habe "windows" unter Uses / Interface. Habe ich was vergessen ?

Ski


Clemens L. - Mo 02.06.08 21:16

Vermutlich hast du "var SOFTKEYBOARD_MSG_OPEN: DWORD;" vergessen!


ski20 - Mo 02.06.08 21:35
Titel: aPI
Super ...genau das wollte ich wissen ....halt wie es wo Definiert wird. Super danke läst sich Conpilen :-) kann es erst morgen fruh austesten auf der Touchscreen PC.

Sag ich dir bescheid

danke Ski


Martok - Mo 02.06.08 21:58

Wie gesagt, mein Code weiter oben war komplett ;)
Also eine klare Copy&Paste-Vorlage :P


ski20 - Di 03.06.08 09:00
Titel: aPI
Super !! Martok .....DAS geht wunderbar ...vielen dank echt geil. Deine CODE oben hätte ich gestern übersehen.

noch mal vielen dank ...an alle

Have a nice day

Ski