 |
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Eternal_pain

Anmeldungsdatum: 08.08.2006 Beiträge: 1783 Wohnort: BW/KA
|
Verfasst am: 19.05.2010, 20:03 Titel: SendMessage und Childs |
|
|
huhu
weiss einer wie ich mir die Childs eines Handles auflisten lassen koennte, um herauszufinden welches ich spaeter mit sendmessage ansprechen kann?
Wollte zumm testen erst einmal notepad probieren,
das handle fuer notepad hab ich, aber wenn ich mit sendmessage etwas hineinschreiben lassen will passiert nichts... _________________
 |
|
Nach oben |
|
 |
player424
Anmeldungsdatum: 30.12.2008 Beiträge: 21
|
Verfasst am: 24.05.2010, 13:58 Titel: |
|
|
Die Child-Windows eines Fensters kannst du dir mit EnumChildWindows auflisten lassen. |
|
Nach oben |
|
 |
Eternal_pain

Anmeldungsdatum: 08.08.2006 Beiträge: 1783 Wohnort: BW/KA
|
Verfasst am: 30.05.2010, 03:43 Titel: |
|
|
danke das klappt soweit, hab leider noch ein anderes problem...
ich wollte versuchen per screenshots eine art pixelerkennung zu basteln.
Da ich mit dem SendMessage meine probleme hatte bzw immernoch habe wollte ich das ganze blos per Mausevents machen...
aber erstmal den anfang, um Screenshots zu machen und auszuwerten muss natuerlich erstmal das fenster mit dem ich arbeiten will in den vordergrund.
das habe ich erstmal so gemacht
Code: | SetWindowPos (WindowHwnd, HWND_TOP, 0, 0, WinSize.right-WinSize.left, WinSize.bottom-WinSize.top, SWP_SHOWWINDOW) |
das fenster ist zwar nun links oben und im vordergrund aber nicht aktiv, wie kann ich das jetzt als aktives fenster auswahlen?? _________________
 |
|
Nach oben |
|
 |
E-P-S

Anmeldungsdatum: 16.09.2004 Beiträge: 500 Wohnort: Neuruppin
|
Verfasst am: 30.05.2010, 14:55 Titel: |
|
|
SetActiveWindow _________________ Man kann sich öfter als zweimal im Leben halb tot lachen. |
|
Nach oben |
|
 |
Eternal_pain

Anmeldungsdatum: 08.08.2006 Beiträge: 1783 Wohnort: BW/KA
|
Verfasst am: 01.06.2010, 01:03 Titel: |
|
|
huhu, vielen danke
dachte schon das waer des raetsels loesung, aber irgendwie will es nicht wie ich will, es wird einfach nicht als aktives fenster angezeigt...
ich hab hier ein erstmal nur so dahin geklatschen code
Code: | #Include "Windows.bi"
Dim Shared WindowHwnd as Hwnd
Public Function EnumProc(ByVal hwnd As any ptr, ByVal lParam As any ptr) As Integer
Dim Retval As UInteger
Dim WindowText As String
WindowText = Space(GetWindowTextLength(hwnd) + 1)
Retval = GetWindowText(hwnd, WindowText, Len(WindowText))
WindowText = Left(WindowText, Retval)
If Instr(WindowText,"Fenstername...") Then
WindowHwnd=hwnd
Return 0
End If
Return 1
End Function
EnumWindows (cast(any ptr,@EnumProc), 0)
If WindowHwnd = 0 Then
MessageBox (NULL,"nicht gefunden",NULL,MB_OK)
End
End If
'------------------------------------------------'
'Found:
'aktuelle position und groesse des fensters
Dim WinSize as RECT
GetWindowRect (WindowHwnd, @WinSize)
'SetActiveWindow (WindowHwnd)
BringWindowToTop (WindowHwnd)
end
|
ich bekomme eigentlich immer mein handle zum fenster, aber das nach vorne holen funktioniert scheinbar nicht sehr zuverlaessig, es funktioniert jedenfalls nicht immer... und setactivewindow bewirkt bei mir rein gar nicht, es bleibt bei mir immer noch die IDE aktiv...  _________________
 |
|
Nach oben |
|
 |
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|