Seite 1 von 1

Interface?

Verfasst: 25.02.2007 03:17
von Kai
Da ich leider absolut keine Ahnung habe wie ich nun einen Interface benutze,
noch weiß ich überhaupt was das ist^^,
fände ich es super nett wenn mir einer helfen könnte.
Ich möchte gerne den Interface ITaskbarList benutzen.
Nur wie genau stell ich das nun an. HELP :cry:

Hilfe inner MSDN: http://msdn.microsoft.com/library/defau ... etetab.asp

Verfasst: 25.02.2007 04:18
von ts-soft
Die Nutzung von COM ist nicht so einfach zu erklären. Man kann es zwar mit
PB nutzen, jedenfalls eine Menge, aber es ist nicht besonders einfach. Aber
ein fertiges Beispiel für Dein Problem ist vorhanden :wink:
Vielleicht findeste noch mehr Beispiele, die gibt es, und lernst davon.

Code: Alles auswählen

; Interface in PB4 bereits deklariert!
; Interface ITaskbarList
;   QueryInterface(a, b)
;   AddRef()
;   Release()
;   HrInit()
;   AddTab(a)
;   DeleteTab(a)
;   ActivateTab(a)
;   SetActiveAlt(a)
; EndInterface

Procedure HideFromTaskBar(hWnd.l, Flag.l)
  Protected TBL.ITaskbarList

  CoInitialize_(0)
  If CoCreateInstance_(?CLSID_TaskBarList, 0, 1, ?IID_ITaskBarList, @TBL) = #S_OK
    TBL\HrInit()
    If Flag
      TBL\DeleteTab(hWnd)
    Else
      TBL\AddTab(hWnd)
    EndIf
    TBL\Release()
  EndIf
  CoUninitialize_()
 
  DataSection
    CLSID_TaskBarList:
    Data.l $56FDF344
    Data.w $FD6D, $11D0
    Data.b $95, $8A, $00, $60, $97, $C9, $A0, $90
    IID_ITaskBarList:
    Data.l $56FDF342
    Data.w $FD6D, $11D0
    Data.b $95, $8A, $00, $60, $97, $C9, $A0, $90
  EndDataSection
EndProcedure

; Beispiel
Procedure Open_Window()
  If OpenWindow(0, #PB_Ignore, #PB_Ignore, 171, 81, "Testfenster", #PB_Window_SystemMenu|#PB_Window_TitleBar)
    If CreateGadgetList(WindowID(0))
      ButtonGadget(0, 15, 20, 60, 20, "Verstecken")
      ButtonGadget(1, 90, 20, 60, 20, "Anzeigen")
    EndIf
    ProcedureReturn WindowID(0)
  EndIf
EndProcedure

Define hWnd.l = Open_Window()

If hWnd

  Repeat
    Select WaitWindowEvent()

      Case #PB_Event_CloseWindow
        Break

      Case #PB_Event_Gadget
        Select EventGadget()
          Case 0
            HideFromTaskBar(hWnd, #True)
          Case 1
            HideFromTaskBar(hWnd, #False)
        EndSelect
    EndSelect
  ForEver
EndIf
Dieses Tool kann Dir auch hilfreich sein:
http://www.purebasic.fr/english/viewtop ... =generator

Gruß
Thomas

Verfasst: 25.02.2007 13:06
von Tafkadasom2k5
Damit wäre aber die Frage, was ein Interface ist, und wozu man es nutzt nicht wirklich beantwortet.

Mich würde das auch echt mal interessieren. :allright:

Verfasst: 25.02.2007 13:12
von ts-soft
CodeArchiv - OOP_Object_Exampe.pb von Danilo
Da siehste das Prinzip, wie Interfaces funktionieren. Für COM wäre dann eher
ein Buch zu empfehlen :wink: (alle mir bekannten sind English und setzen
C++ voraus :freak: )

Ausserdem sollteste Dir vielleicht mal diesen Source ansehen:
http://www.purebasic.fr/german/viewtopi ... iptcontrol
Was über das FSO (FileSystemOBject) müßte von mir auch noch rumfliegen.

Verfasst: 25.02.2007 15:08
von mk-soft
Habe mal den Beitrag zur Erstellung von eigenen Interfaces rausgesucht.

http://www.purebasic.fr/german/viewtopi ... highlight=

FF :wink:

Verfasst: 26.02.2007 12:29
von Shardik
ts-soft hat geschrieben: Für COM wäre dann eher ein Buch zu empfehlen :wink: (alle mir bekannten sind English und setzen C++ voraus :freak: )
Meine Buchempfehlung aus dem Markt & Technik Verlag (in deutsch und für Visual BASIC 8)):
COM/ActiveX-Komponenten mit Visual Basic 6 entwickeln
Umfangreiches Tutorial zur Komponentenentwicklung mit Visual Basic
Erscheinungsjahr: 03-1999
ISBN-Nummer: 3-8272-5470-1
Autor: Dan Appleman
Preis: DM 99,95
Werbetext: Das Component Object Model (COM) gilt als fundamentale Technologie (Architektur oder auch eine Art unsichtbares Betriebssystem) in der Microsoft-Welt. COM arbeitet eng mit der Registry von Windows zusammen und legt fest, auf welche Weise bin„re Komonenten zusammenarbeiten. Dieses Tutorial konzentriert sich auf die Komponentenentwicklung mit Visual Basic 6. Es zeigt dem Leser Programmierkonzepte und die technischen Schritte, die nötig sind, COM- bzw. ActiveX-Komponenten zu erstellen, wie man von Anfang an Fehler vermeidet sowie das Zusammenspiel von VB-Applikationen mit Datenbanken und anderen Anwendungen.
Seiten: 864
Umfang: 1 CD-ROM