Seite 1 von 2

ExplorerListGadget vom Remote-PC?

Verfasst: 07.05.2007 16:07
von PureBasic4.0
Hi, Leute

Ich möchte eine Art ExplorerListGadget von einem Remote Rechner anzeigen lassen. D.h. ich verbinde mich mit dem Remote-Computer per OpenNetworkConnection, sende dem dann den Befehl, dass er mir den Inhalt des angegebenen Ordners schicken soll, und dann? Wie bekomme ich sowas in ein ExplorerListGadget oder vergleichbares?

Verfasst: 07.05.2007 17:11
von Jilocasin
Ein ExplorerListGadget aktualisiert sich ja von selbst, also kannst du dahinein nichts direkt schreiben (bitte Korrigieren, falls mich mich irre) :mrgreen:

Aber probier mal aus wenn du beim Gadget selbst einfach "\\COMPUTERNAME" als URL eingibst :)

Verfasst: 07.05.2007 17:26
von Xaby
Der Befehl heißt:

TreeGadget()

Damit kannst du Bäume und Strukturen visualisieren.
Du kannst die Ordner als Knoten definieren und den Verzeichnissen und Dateien auch Symbole zuweisen.

Wenn du also den Ordner inhalt hast, kannst du wie in der PB-Hilfe beschrieben:

Code: Alles auswählen

  If OpenWindow(0, 0, 0, 355, 180, "TreeGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) And CreateGadgetList(WindowID(0))
    TreeGadget(0, 10, 10, 160, 160)                                         ; TreeGadget Standard
    TreeGadget(1, 180, 10, 160, 160, #PB_Tree_CheckBoxes|#PB_Tree_NoLines)  ; TreeGadget mit Checkboxen + ohne Linien
    For ID = 0 To 1
      For a = 0 To 10
        AddGadgetItem (ID, -1, "Normal Item "+Str(a), 0, 0) ; wenn Sie ein Bild hinzufügen möchten, dann 
        AddGadgetItem (ID, -1, "Node "+Str(a), 0, 0)        ; benutzen Sie ImageID(x) als 4. Parameter
        AddGadgetItem(ID, -1, "Sub-Item 1", 0, 1)     ; diese sind auf dem ersten Sublevel
        AddGadgetItem(ID, -1, "Sub-Item 2", 0, 1)
        AddGadgetItem(ID, -1, "Sub-Item 3", 0, 1)
        AddGadgetItem(ID, -1, "Sub-Item 4", 0, 1)
        AddGadgetItem (ID, -1, "File "+Str(a), 0, 0)  ; hier wieder Sublevel 0
      Next
    Next
    Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
  EndIf
:allright:

Verfasst: 07.05.2007 18:03
von Jilocasin
Stimmt ist auch ne Lösung
Dann muss aber auf dem Remote-PC ein entsprechendes Proggi laufen, das bei einer Anfrage den Vezeichnisinhalt sendet. :allright:

Verfasst: 07.05.2007 21:55
von mk-soft
Ups,

ein Trojaner >_<

Netzwerkpath mit gültiger Berechtigung sollte reichen.

FF :wink:

Verfasst: 08.05.2007 16:48
von PureBasic4.0
mk-soft hat geschrieben: ein Trojaner >_<
@ mk-soft: Habe nicht vor, einen Trojaner zu schreiben! :evil: :twisted: :evil: :twisted:
Dennoch sollte man Zugriff auf den gesamten Inhalt des Systems haben
Xaby hat geschrieben: Wenn du also den Ordner inhalt hast,
@ Xaby: Ist es nicht ein bisschen sehr umständlich, alle Dateien auf den Typ (Ordner oder Datei) zu überprüfen und denen dann ein extra Icon zuzuordnen? Gibt's dafür noch keine Lib?

@ all: Wie bekomme ich, falls ich dann doch die "Xaby-Methode" :mrgreen: benutzen muss, den Inhalt vom Arbeitsplatz heraus? Gibt's dafür ne (API-)Funktion?

Verfasst: 08.05.2007 18:31
von Jilocasin
Da gibts GetDriveType_() (Info)

Da gibst du als Parameter z.b. "C:\" an und bekommst zurück ob der Buchstabe existiert und welcher Typ das Laufwerk ist
Wenn du jetzt von A - Z alle durchgehst (gibt es > 26 doppelte Zeichenfolge eigentlich?) kannst du die vorhandenen Laufwerke und deren Typ erkennen

Verfasst: 08.05.2007 18:39
von PureBasic4.0
Jilocasin hat geschrieben:(gibt es > 26 doppelte Zeichenfolge eigentlich?)
Nein, mehr als 26 Laufwerke --> Bluescreen!

Verfasst: 10.05.2007 13:22
von PureBasic4.0
Gibt es jetzt eine Library dafür oder einen vorgefertigten Code?

@Jilocasin: Auch wenn du in XP einer Datei einen > ~250 Zeichen langen Dateinamen gibst, gibt es einen Bluescreen.

Verfasst: 10.05.2007 13:39
von Jilocasin
Du mit deinen Bluescreens :mrgreen: