Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Hallo miteinander,

habe folgendes Problem. Habe mir von www.activevb.de ein Quelltextbeispiel zum Auslesen der laufenden Anwendungen heruntergeladen. Dies funktioniert auch mit Visual Basic 6.0 einwandfrei, doch sobald ich denselben Quelltext in Access nutze, durchläuft er nur noch 2 bis 3 Fenster. Das heisst, er durchläuft nur die Fenster des aktiven Access Projektes. Das kann es jawohl nicht sein.

Bin jetzt total überfragt, wie ich das Problem lösen kann, da ich mit API's noch nicht wirklich häufig gearbeitet habe.

Danke im voraus

Arnie

P.S.: Arbeiten mit Office 2000 SP3 unter Windows 2000 Pro SP3

P.P.S.: Ich nutze die API's: GetWindow, GetWindowTextLength, GetWindowText!

Warum? Es geht um die in meinem letzten Beitrag u.g. API Funktionen und nicht erstrangig um die Programmiersprache...

Mir soll's recht sein, Hauptsache ich bekomme ne Antwort ;-)

Original geschrieben von Arnie

Warum? Es geht um die in meinem letzten Beitrag u.g. API Funktionen und nicht erstrangig um die Programmiersprache...

APIs gibt es viele. Darum sind unsere Foren nach Sprachen sortiert.

Mir soll's recht sein, Hauptsache ich bekomme ne Antwort ;-)
Dann solltest du aber zumindest den Code oder einen Link darauf posten. Blinddebugging ist immer etwas schwierig. ;)

            hWnds = GetWindow(Me.hWnd, GW_HWNDFIRST)

            Do

              ' Handle auswerten

              sTitle = HoleFensterBezeichnung(hWnds)

              If InStr(1, sTitle, "Test") Then

                        i = i + 1

                        MsgBox "HWND: " & hWnds & ", Durchlauf: " & Durchlauf & ", Titel: " & sTitle & ", Treffer: " & i

                    End If

              End If

              'Nächstes Handle

              hWnds = GetWindow(hWnds, GW_HWNDNEXT)

            Loop Until hWnds = 0

Beschreibung: Ich nehme den Handle des aktiven Fensters und durchlaufe dann alle Fenster nacheinander. Wenn eines der Fenster den Titel "Test" enthält, soll eine Zählvariable hochgezählt werden. Dadurch will ich im späteren Verlauf des Programms abfragen, wieviele Anwendungen diesen Typs schon geöffnet sind.

Ich hoffe, jetzt kann mir geholfen werden...

MfG Arnie

Zuerst

hWnds = GetAncestor(Me.hwnd, GA_ROOT)

das ist klar, aber wie kann ich da in meiner Schleife mit arbeiten? Ich muss ja immer von Fenster zu Fenster springen... (z.Zt. hWnds = GetWindow(hWnds, GW_HWNDNEXT))

Gibt es für Ancestor auch ne Art Next-Anweisung?

MfG Arnie

Original geschrieben von Arnie

Gibt es für Ancestor auch ne Art Next-Anweisung?

Nein, denn es gibt ja immer nur ein Ahnen-Fenster. Aber du kannst dir mit GetWindow und GW_CHILD das erste Kindfenster des Root-Fensters holen und dessen Handle als Startpunkt für deine Schleife verwenden.

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.