Pseudo Desktop

  • Lass dir alle Prozesse "firefox.exe" auflisten: $aProcList = ProcessList("firefox.exe"). Dann kannst du auf alle Instanzen zugreifen (sofern sie als eigener Prozeß gestartet werden).
    Bei Excel z.B. wirst du meist nur einen Prozeß haben, dann musst du dir alle Fensterhandle dieses Prozesses auslesen (Schau mal die _WinAPI-UDF an).

    Was das Verhalten über das Netzwerk angeht: Wird dein Programm nicht auf den Clients gestartet?

    Hi BugFix,

    Wie kann ich denn über PIDs ein Fenster aktivieren?
    Ich hatte vor WinActivate einiges ausprobiert, hatte aber keinen Erfolg.

    Zur Netzwerkfrage:
    Ich melde mich doch mit dem Clientrechner auf dem Server an.
    Dort soll dann (später mal automatisch) der Pseudo Desktop gestartet werden - also muss doch das Programm auf dem Server liegen.
    Wenn ich das als Admin in einem öffentlichen Ordner mache - also Rechte müsste ich satt haben - startet die kompilierte autoit-Datei.
    Die vier Farbfelder sind da. Das Icon (genau genommen ein GIF) für den Firefox ist auch da.
    Es ist aber nicht anklickbar bzw. es tut sich nichts.
    Nur der Beenden-Button funktioniert - das ist ja schon mal was ... ;)

    Hab schon überlegt, ob ich den Programmpfade als Netzwerkdingsbums (mir fällt der Name nicht ein) schreiben muss; als \\Servername\Pfad zum Programm
    Dazu habe ich aber im Netz noch nichts gefunden.

    Grüße,
    Klaus

  • Hallo zusammen,

    aus PID ein Fensterhandle machen hatte ich schon probiert - war aber gar nicht so einfach.
    Hab' das mit 2 Funktionen ausprobiert - aber nicht die oben genannten (glaub ich).

    Blöd ist aber im Moment, dass ich, wenn ich mich auf dem Server einlogge und dort meine Exe für den 'Pseudo Desktop' starte, die Oberfläche erscheint aber es kann kein Programm (Firefox oder Notepad) gestartet werden ...

    Ich habe jetzt schon mal Autoit und ISN Autoit Studio auf den Server kopiert und nutze die Programme im mobilen Modus (ohne Installation)
    Auch so kann ich meine Oberfläche aufrufen (F5) aber kein Programm starten.

    Nebenbei fällt mir auf, dass das Gif-Bild vom Firefox auf dem Server keinen transparenten Hintergrund mehr hat ...

    Serverbetriebssystem ist Win 2008 R2

    Vielleich hat ja jemand eine gute Idee.

    Grüße,
    klaros

  • Hurra :D

    Das Problem mit dem Server ist - zumindest teilweise - gelöst.
    Auf dem Server laufen von (nicht korrekt abgemeldeten) Usern Prozesse einfach weiter - das kann ich im Taskmanager sehen: Prozess und zugehöriger User.

    Die Funktion ProcessExists() findet einen solchen Prozess, schaut aber nicht, ob der aktuelle Benutzer der Besitzer diese Prozesses ist.
    Deswegen geht "if ProcessExists(firefox.exe) = 0 then 'blabla'" nicht, da irgendein doofer firefox-Prozess halt schon läuft.

    Mit WinExists() und ...Matchmode 2 funktioniert es aber. :rock:

    Grüße,
    klaros