Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
grindstone
Anmeldungsdatum: 03.10.2010 Beiträge: 1255 Wohnort: Ruhrpott
|
Verfasst am: 19.06.2017, 22:42 Titel: Nutzung von IUnknown / IDispatch / IAccessible in FB |
|
|
Wie bekomme ich mit FB Zugriff auf IUnknown / IDispatch / IAccessible? Die Bindings (oleacc.bi / shlobj.bi) sind Bestandteil von FB, aber ich habe bis jetzt kein einziges Beispiel für deren Nutzung gefunden.
Code: | #Include "win/shlobj.bi"
Dim As IFolderView Ptr ifv
Dim As ULong CurrentViewMode
IFolderView_GetCurrentViewMode(ifv, @CurrentViewMode)
|
compiliert zwar ohne Fehlermeldung, aber irgendwie muß ich der Funktion ja noch mitteilen, von welchem Fenster ich die Information haben möchte.
Soweit ich es in Erfahrung bringen konnte, ist dafür die Funktion IFileViewerSite::SetPinnedWindow(hWnd) zuständig, aber ich schaffe es nicht, sie aufzurufen.
Ist irgendjemand schlauer als ich?
Gruß
grindstone _________________ For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen! |
|
Nach oben |
|
|
St_W
Anmeldungsdatum: 22.07.2007 Beiträge: 955 Wohnort: Austria
|
Verfasst am: 19.06.2017, 23:20 Titel: |
|
|
Ich habe bislang leider (oder zum Glück; so recht weiß ich das nicht) noch nicht mit COM in FreeBasic gearbeitet, aber es gibt da schon so manche Beispiele, z.B. im examples/win32/COM Ordner, wobei die vermutlich etwas veraltet sind. Besser siehst du dich im engl. Forum um, der Benutzer "aloberoger" arbeitet dort oft an irgendwelchen COM Sachen. Vielleicht ist auch SimpleVariant (bzw. evtl. dessen Vorgänger SimpleCOM) für dich interessant. _________________ Aktuelle FreeBasic Builds, Projekte, Code-Snippets unter http://users.freebasic-portal.de/stw/
http://www.mv-lacken.at Musikverein Lacken (MV Lacken) |
|
Nach oben |
|
|
grindstone
Anmeldungsdatum: 03.10.2010 Beiträge: 1255 Wohnort: Ruhrpott
|
Verfasst am: 19.06.2017, 23:55 Titel: |
|
|
Vielen Dank für die schnelle Antwort.
Ich habe einen kurzen Blick auf CDropTarget geworfen, es sieht schon mal recht vielversprechend aus, zumindest ist die prinzipielle Vorgehensweise ersichtlich.
Seltsam, daß Google zu dem Thema nichts ausspuckt...
Gruß
grindstone _________________ For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen! |
|
Nach oben |
|
|
St_W
Anmeldungsdatum: 22.07.2007 Beiträge: 955 Wohnort: Austria
|
Verfasst am: 20.06.2017, 14:58 Titel: Re: Nutzung von IUnknown / IDispatch / IAccessible in FB |
|
|
grindstone hat Folgendes geschrieben: | [...], aber irgendwie muß ich der Funktion ja noch mitteilen, von welchem Fenster ich die Information haben möchte.
Soweit ich es in Erfahrung bringen konnte, ist dafür die Funktion IFileViewerSite::SetPinnedWindow(hWnd) zuständig, [...] |
Erstmal wirst du eine Instanz brauchen, die IFolderView bereitstellt. Die wird auch spezifisch für ein bestimmtes Fenster sein. Dass die von dir genannte Funktion dann noch etwas damit zu tun hat bezweifle ich ehrlich gesagt.
Eventuell könnte folgender Code hilfreich sein:
https://blogs.msdn.microsoft.com/oldnewthing/20130318-00/?p=4933
Aber wie gesagt sind COM und die Shell API ganz und gar nicht mein Fachgebiet, darum sind alle meine Vermutungen oberhalb mit entsprechender Vorsicht zu genießen _________________ Aktuelle FreeBasic Builds, Projekte, Code-Snippets unter http://users.freebasic-portal.de/stw/
http://www.mv-lacken.at Musikverein Lacken (MV Lacken) |
|
Nach oben |
|
|
grindstone
Anmeldungsdatum: 03.10.2010 Beiträge: 1255 Wohnort: Ruhrpott
|
Verfasst am: 20.06.2017, 19:37 Titel: |
|
|
St_W hat Folgendes geschrieben: | Erstmal wirst du eine Instanz brauchen, die IFolderView bereitstellt. Die wird auch spezifisch für ein bestimmtes Fenster sein. Dass die von dir genannte Funktion dann noch etwas damit zu tun hat bezweifle ich ehrlich gesagt. | Stimmt, das Fenster wird über einen Pointer auf ein Objekt angesprochen, soviel habe ich inzwischen herausgefunden.
Auf dem FreeBASIC-Portal habe ich ein sehr informatives Tutorial (wieder-)entdeckt, in dem beschrieben wird, wie die Funktionen der Windows - Interfaces in FB ab Version 1.00 eingebunden werden (die im FB - Paket mitgelieferten Beispiele und auch die Bindings sind wirklich veraltet).
Wie ein bekannter ehemaliger Fußballtrainer zu sagen pflegte: "Schaun mer mal!"
Gruß
grindstone _________________ For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen! |
|
Nach oben |
|
|
|