Deutsch
Forum

Bildschirmtastatur

 
- Seite 1 -



Heinz
Bernhard
Hallo Zusammen, ich benötige Eure Hilfe !
Für meinen sehbehinderten Nachbarn, 19"-Bildschirm, Bildschirmauflösung 800x600 und Software-Lupe, habe ich eine spezielle Bildschirm-Tastatur programmiert.

Alle gewünschten Tasteneingaben funktionieren prima.
Problem : In fremden Fenstern braucht man zum Schreiben dessen Handle.
Die folgenden Befehle funktionieren einwandfrei :
Win$ = "Dokument" (z.B. für Word)
Win% = FindWindow(Win$)

Statt der programmierten Festlegung mit "Dokument" für Word, es soll ja auch in anderen Programmen (E-Mails) geschrieben werden, habe ich ein Eingabeedit mit Bestätigung erstellt. Hier kann die Titelzeile des jeweiligen Programms mit 3-4 Buchstaben eingegeben und bestätigt werden - klappt auch alles super.
Dies möchte ich ihm aber nicht zumuten.

Ich kann aber auch z.B. Word nicht aufrufen um das Handle zu erhalten, da auch in fertigen Word-Dokumenten oder aber auch anderen Programmen geschrieben werden soll.

Die systeminterne Microsoft-Bildschirmtastatur erkennt automatisch alle Fenster, dass möchte ich auch erreichen.

Daher meine Frage an Euch : Wer kann meine obigen Befehlszeilen editieren ?
Versucht habe ich es mit "GetActivateWindow" und "%Desktop" - kein Erfolg.
Vielleicht habe ich mich ja auch in was falsches verrannt ?
Ich bedanke mich im Voraus - es ist ja alles für einen guten Zweck.

Dankbare Grüße von Heinz Bernhard
 
XProfan 10
XProfan-Version 10+11
Betriebssystem Win7
30.11.2011  
 



 
- Seite 1 -



Heinz
Bernhard
Hallo, bis jetzt schon mal herzlichsten Dank dafür, dass Ihr Euch mein Problem angeschaut habt !!!
Werde Beides jetzt testen und poste morgen Erfolg oder Pech.
Gruß Heinz
 
XProfan 10
XProfan-Version 10+11
Betriebssystem Win7
30.11.2011  
 




E.T.
Das mit dem Fensterfänger war nur so ein Gedanke:
Mit der Maus das Fenster "suchen" und (ohne zu klicken) irgendwo den Fenstertitel schön vergrößert anzeigen. Und bei klick auf den angezeigten Titel das entsprechende Fenster aktivieren (das handle hat man dann ja, dann ists zum Bsp. auch egal ob das Word-Fenster "Dokument" oder "Ich schreibe grade was" heist).
 
Grüße aus Sachsen... Mario
WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte...
01.12.2011  
 




E.T.
Hm, grad gesehen: Fensterfänger ohne Quelltext, also alles neu bauen
 
XProfan X2
Grüße aus Sachsen... Mario
WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte...
01.12.2011  
 



Von Frank gibt's hier ja noch [...] , jedoch :
' (W) 2003 Frank Abbing
'
Declare sx&,sy&,bereich#,be#,erg&,erg2&,x&,y&,text$,handl&
Dim be#,8
Dim bereich#,1024
DEF GetCursorPos(1) !"USER32","GetCursorPos"
DEF WindowFromPoint(2) !"USER32","WindowFromPoint"
DEF ChildWindowFromPoint(3) !"USER32","ChildWindowFromPoint"
Def GetSysColor(1) !"USER32","GetSysColor"
Def ScreenToClient(2) !"USER32","ScreenToClient"
Def GetClassName(3) !"USER32","GetClassNameA"
Def GetWindowText(3) !"USER32","GetWindowTextA"
DEF NewWindowPos(7) !"USER32","SetWindowPos"
DEF AllocConsole(0) !"KERNEL32","AllocConsole"

Proc DText

    Parameters xx&,yy&,ttext$
    Drawtext xx&,yy&,ttext$

EndProc

Windowtitle "Fensterhandles..."
windowstyle 26
window (%maxx/2-112),(%maxy/2-80)-444,164
settruecolor 1
cls GetSysColor(15)
NewWindowPos(%hwnd,-1,0,0,0,0,$13)
Usefont "MS Sans Serif",13,0,0,0,0
SetDialogFont 1

whilenot %mousepressed=2

    Sleep 10
    GetCursorPos(be#)
    x&=Long(be#,0)
    y&=Long(be#,4)
    erg&=@WindowFromPoint(x&,y&)

    If erg&<>0

        ScreenToClient(erg&,be#)
        x&=Long(be#,0)
        y&=Long(be#,4)
        erg2&=@ChildWindowFromPoint(erg&,x&,y&)

    EndIf

    TextColor 0,GetSysColor(15)
    handl&=@GetActiveWindow()
    DText 8,8, "Maus Position X = "+Str$(x&)+"          "
    DText 8,21,"Maus Position Y = "+Str$(y&)+"          "
    DText 8,38,"Handle eigenes Fenster = $"+@Hex$(%hwnd)+"                    "
    DText 8,55,"Handle unter Mauszeiger = $"+@Hex$(erg&)+"                    "
    DText 8,68,"Handle unter Mauszeiger (Child) = $"+@Hex$(erg2&)+"                    "
    GetClassname(erg&,bereich#,128)Declare sx&,sy&,text$,x&,y&,bereich#
    text$=String$(bereich#,0)
    DText 8,85,handl&'"Klassenname = "+text$+"                                                      "
    GetWindowText(erg&,bereich#,128)
    text$=String$(bereich#,0)
    DText 8,98,"Fenstername = "+text$+"                                                      "
    @SendMessage(erg&,13,128,bereich#)
    text$=String$(bereich#,0)
    DText 8,111,"Fenstertext = "+text$+"                                                      "

wend

Dispose be#
Dispose bereich#
end

kann ich nicht finden. Ich hoffe er nichts dagegen, dass ich ihn hier einstelle.
 
01.12.2011  
 




E.T.
Naja, wird schon nicht so schlimm sein:
Frank hat ja kein (C) reingeschrieben sondern ein (W), was ja wohl für "Wer auch immer es benutzen und weiterverarbeiten und veröffentlichen will" steht
... oder "Woppel-Right"...
 
XProfan X2
Grüße aus Sachsen... Mario
WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte...
01.12.2011  
 



Schaut mal ob das hier bei Euch läuft... (bei mir tuts so... ^^)

Wenn die App läuft sendet sie alle 2,5 Sekunden an das aktuell-aktive Fenster den Tastendruck A.

Download
externer Download


1.032 kB
Hochgeladen:01.12.2011
Ladeanzahl121
Herunterladen
 
01.12.2011  
 




Dieter
Zornow
Bei mir läuft es auch. Das Problem dürfte wohl sein, wenn ich auf der virtuellen Tastatur was eingebe ist das Tastaturfenster aktuell.
 
XProfan X2
Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai., Win 7 32 bit und Win 7 64 bit, mit XProfan X2
01.12.2011  
 



 
- Seite 2 -


Untitled (12/01/11)

Von Frank gibt's hier ja noch [...]. Ich hoffe er nichts dagegen, dass ich ihn hier einstelle.


Hab nichts dagegen, ist doch ein freier Code.
 
01.12.2011  
 



Könnte man vlt. mal schauen was es bringt bei Nachrichten wie WM_NCACTIVATE false oder bei WM_ACTIVATE true zurückzugeben -

oder man müsste wie Franks Botschafter solch Nachrichten komplett abgreifen und dabei letzt-relevantes Handle merken.
 
01.12.2011  
 




Heinz
Bernhard
Sorry, ich wollte kein Unterthema erzeugen, ist in freudiger Erregung passiert.
Also noch einmal:
Ja, erst noch einmal Danke für Eure Mühe.
Vorausgesetzt, ich habe alles richtig gemacht, hatte ich mit den ersten Vorschlägen keine Erfolge.
Nun habt Ihr den Code von Frank - Danke Frank - reingestellt und damit wird es nun wohl auch werden.
Es muss noch in mein Programm eingearbeitet werden, aber ich bin voller Optimismus und ahne schon gute Ergebnisse.
Nochmals Dank für soviel Hilfsbereitschaft von Euch.
Ich denke, wir können damit das Thema "Bildschirmtastatur" beenden.
Grüße von Heinz B.
 
XProfan 10
XProfan-Version 10+11
Betriebssystem Win7
01.12.2011  
 




Jörg
Sellmeyer
Hallo Heinz,
Das kannst Du direkt unten in Deinem Thread erledigen, indem Du auf "erledigt" klickst.
Gruß
Jörg
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
01.12.2011  
 




Heinz
Bernhard
Danke Jörg,
wird sofort erldigt.
Gruß Heinz
 
XProfan 10
XProfan-Version 10+11
Betriebssystem Win7
02.12.2011  
 




Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

16.777 Betrachtungen

Unbenanntvor 0 min.
RudiB.05.04.2022
Michael Hettner14.02.2022
AndreasS30.12.2018
Stringray08.10.2017
Mehr...

Themeninformationen



Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie