1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. klaros

Beiträge von klaros

  • Pseudo Desktop - Konstruktive Kritik :-)

    • klaros
    • 14. Dezember 2014 um 15:05
    Zitat von Stevenx

    Interessante Idee, nur ein Punkt fällt mir negativ auf: die Icons. Ich fand nirgendwo einen Hinweis, von wo du die Grafiken hast (Quelle). Du solltest das machen

    Da hast du recht! Die Icons sind entweder bearbeitet/selbstgbastelt oder (hoffentlich) frei verwendbar (so hatte ich danach gesucht und es wohl auf der Seite so verstanden) - ich werde mich da noch kümmern.

    Wenn das Programm produktive(re) Züge annimmt, wollte ich sowieso im Header einige nette Leute aus dem Forum erwähnen ...

    Hehe, wenn das nicht mal ein Ansporn ist. ;)

    Ansonsten habe ich jetzt noch als größeres Problem tatsächlich den Umstand, dass ein Programm durch den Pseudo Desktop gestartet wird und dieses dann ein weiteres Programm startet. (Aus dem Dateimanager ein Bild oder ein Textdokument anklicken und dadurch ein entsprechendes Programm aufrufen.)
    Wenn das aus zweiter Hand gestartet Programm als Desktop-Icon vorliegt, kommt man nur über Umwege dran.
    Ansonsten verschwindet es hinter den Pseudo Desktop.

    Das Handling der Fenster kriege ich nicht zuende gedacht. Das liegt aber auch daran, dass ich nicht gut wie ein Programmierer denken kann, um das Problem zu abstrahieren oder/und in Teilprobleme aufzuteilen. Da wäre ich für Tipps und Schubser in die richtige Richtung dankbar. UND - Es muss nicht immer der ganze Quellcode sein. :)
    Den Stand der Dinge (ZIP-Datei) legen ich gleich mal in mein erstes Posting hier im Thread.

    Grüße, klaros

    (Äh, was ist/war hier mit dem Editor los?)

  • Pseudo Desktop - Klasse eines störrischen Programmfensters ermitteln

    • klaros
    • 14. Dezember 2014 um 12:16

    Hallo zusammen,

    erstmal Danke an euch für die Tipps!
    Dann noch ein "entschuldigt bitte" hinterher,
    dafür dass ich mit meinen NebenThreads und dem Link auf den HauptThread noch nicht konsequent genug war ...

    Hier findet ihr das Projekt um das es geht:
    Pseudo Desktop - Konstruktive Kritik :-)

    Die aktuelle Version befindet sich im Moment noch unten im Thread.
    Auf Oscars Rat hin werde ich die Dateien immer oben aktualisiert reinstellen.

    Damit man jetzt nicht zum Link springen muss:
    Es geht um ein Programm, das für Schüler durch Vollbildmodus (evtl. sogar Taskleiste verstecken) den Desktop erstzen soll.
    Dadurch soll dieser einfacher zu bedienen sein (Apps sortiert in farbigen Kacheln, Logoff-Icon statt Start -> Abmelden, usw.)
    Dieser "Pseudo Desktop" soll auf den Clients erscheinen, wenn diese sich auf dem Terminalserver angemeldet haben.
    PD läuft als über Autostart o. ä. auf dem Server.

    Oscar war so freundlich und hat mir einen Vorschlag programmiert, wie es gehen könnte, wenn der Desktop onTop bleibt und immer nur ein Programm gestartet werden kann und dann dieses onTop ist oder über den Klick auf das ProgrammIcon wieder
    "nach vorne" geholt wird.

    Dadurch ergeben sich "Probleme", wie ich es speziell mit Budenberg habe - da greift die Lösung über die Klasse nicht gut.
    (Da Budenberg aber im Vollbildmodus startet, könnte man hier überlegen, das eben brutal einfach abzufangen und nicht zu viel Energie in eine perfekte Lösung zu stecken ...)
    Anderes Problem ist:
    Ich starte den Dateimanager über den Pseudo Desktop (PD) - alles ist gut. Über den Dateimanger starte ich dann z. B. XnView (Bildbetrachter). Dieser Prozess kann über die aktuelle Lösung nicht ganz onTop geholt werden - das Fenster des Dateimanagers wäre immer davor.

    Vielleicht funktioniert das ganze schon besser, wenn ich Oscars Änderung (Vereinfachung) mit aufnehme, dass mehrer Programme gleichzeitig gestartet werden können (gewünschter Effekt für cut&paste usw.).

    Leider habe ich in den letzten Tagen nur Zeit gehabt, mich um "Budenberg zu kümmern", so dass ich an der Stelle noch nicht selber weiter gekommen bin ...

    Eigentlich soll der PD einfach aussehen und für maximal ein Dutzend Programme zuständig sein, wobei meistens tatsächlich nur eins gestartet wird. Leider gibt es jetzt im Nachhinein doch einige Eventualitäten zu beachten, damit der gut gemeinte PD einen User nicht "aussperrt" ...

    misterspeed: Vielleicht ist der Ansatz über PIDs ein gangbarer Weg. Das werde ich mir "in nächster Zeit" mal anschauen.
    (Zu ProcessExists($sProgName): Als angemeldeter Admin habe ich z.B. alle Firefox-Prozesse gesehen. Da habe ich nicht weit genug gedacht und fälschlich angenommen, dass das auch für normale User gilt ... (Dann wäre an dieser Stelle auch noch Potential.).)

    Grüße,
    klaros

  • Pseudo Desktop - Konstruktive Kritik :-)

    • klaros
    • 12. Dezember 2014 um 12:46

    Hallo zusammen,

    Meine Idee ist, dass ich hier in diesem Thread den Quellcode ablegen und die grundsätzlichen Fragen stelle.
    In "Neben"Threads wollte ich dann spezielle Fragen stellen (zu speziellen Funktionen oder speziellen Problemen), damit dieser "Haupt"Thread besser lesbar bleibt.
    In den Nebenthreads wollt ich dann hier hin (auf den Quellcode) verlinken.
    Ist das eine gute Idee oder eher für euch verwirrend zum reinlesen?

    Ansonsten stelle ich hier nur mal kurz die aktuelle Fassung rein.

    Ich habe da eine grundsätzliche Frage / ein Problem.
    Da muss ich aber am Wochenende erstmal noch was ausprobieren, um das halbwegs verständlich zu fragen ...
    (Kurz angerissen:
    Hat was mit der Erreichbarkeit von Fenstern zu tun, wenn die hinter den VDestkop gelangen.
    Besonders, wenn die Fenster nicht über VDesktop gestartet werden, sondern von einem anderen Prog.
    -> Vdesktop startet Dateiexplorer - dort wird mit "Öffnen mit" XnView gestartet und davon weiß VDesktop nix.

    Möglicherweise ist es doch eine gute Idee, die Taskleiste anzuzeigen, da ich diese über Gruppenrichtlinien stark genug beschränken kann)

    Grüße,
    klaros

  • Pseudo Desktop - Klasse eines störrischen Programmfensters ermitteln

    • klaros
    • 11. Dezember 2014 um 21:23

    Wie versprochen hier der Link zur UDF, mit der ich die Klassen ermitteln konnte:
    http://www.autoitscript.com/forum/topic/115243-processgetwin/

    Leider hat es nicht wirklich geholfen, da das "störrische" Programm (Lernsoftware Budenberg) sehr eigenartig agiert.
    Bislang fange ich diesen Sonderfall brutal anders ab ... 8)

    Grüße,
    klaros

  • Pseudo Desktop - Klasse eines störrischen Programmfensters ermitteln

    • klaros
    • 10. Dezember 2014 um 22:17

    Hi zusammen,

    nachdem bobekos mich dem "129 Zeilen Monster" geschockt hat ;) habe ich noch ein bisschen rumgesucht.
    Und ich habe eine andere UDF gefunden, die ich besser verstehe.
    Damit habe ich mir ein Testscript gebastelt, das ein Programm aufruft und dann schaut wie die Fensterklassen heißen.
    Ich muss noch ein bisschen damit rumspielen, um zu verstehen, welcher der Rückgabe die gesuchte Klasse enthält.

    Ich sitze gerade am "Wohnzimmer-Mac". Morgen stelle ich hier mal rein, was ich gefunden und gemacht habe.

    Grüße,
    klaros

  • Pseudo Desktop - Klasse eines störrischen Programmfensters ermitteln

    • klaros
    • 10. Dezember 2014 um 12:20
    Zitat von KloMeister

    Ich weiß nicht genau was du vor hast. Aber reicht es nicht mit "ProcessExists" zu prüfen, ob der Prozess existiert, falls nein dann starten, ansonsten eben nichts tun... oder besser: das Programm in den Vordergrund holen.

    Wahrscheinlich reicht es nicht über ProcessExists ...
    Das hatte ich nämlich zuerst probiert - aber auf einem Server / (PC ?) laufen gleichnamige Prozesse, die unterschiedlichen Usern gehören (wenn mehrere angemeldet sind, oder, wenn sie sich nur getrennt haben, (noch) weiterlaufen).
    Mit der Klasse werden eindeutig zur Usersitzung Fenster angesprochen.

    Ich überlege aber gerade, ob man eine Kombi aus Prozessname und PID probieren könnte ...

    Höhö, zeitgleich zu GegX ... :)

    Grüße,
    klaros

  • Pseudo Desktop - Klasse eines störrischen Programmfensters ermitteln

    • klaros
    • 10. Dezember 2014 um 10:14

    Hallo zusammen,

    ich habe hier ja einiges an Unterstützung mitnehmen können :thumbup: und vielleicht hat da jemand was in der Schublade liegen, bevor ich dass auch nocht selber frickeln muss.
    In meinem "Projekt" (hier lang) sollen (Lern-)Programme gestartet werden und vorher überprüft werden, ob ein evtl. Programm schon läuft.

    Eigentlich kein großes Problem - ABER - wir nutzen ein - leider - gut passendes Programm, das sehr "interessant" gestrickt wurde ...
    Aus einem DOS-Programm ist auf (für mich) abenteuerliche Weise ein Win-Programm entstanden. --> Budenberg
    Deswegen kann ich mit dem FensterInfoTool von Autoit nicht die Klasse ermitteln. :thumbdown:
    Hat da jemand vielleicht ein Autoit-Tool vorrätig mit dem man ein Programm startet, und von diesem die benötigten Infos "irgendwo" hinschreiben / ausgeben lässt?
    (Sonst muss ich versuchsweise diese Baustelle selber angehen. || )

    Grüße,
    klaros

  • Pseudo Desktop - Abmelden vom Server - Wie am besten?

    • klaros
    • 10. Dezember 2014 um 09:54

    So.
    Es geht mit run(@SystemDir & '\logoff.exe')
    Das Tool logoff.exe gibt es wohl nicht auf jedem System - so z. B. nicht auf Win 8 Prof. 64Bit.
    Aber auf dem Server ist es vorhanden.
    Damit kann sich auch ein normalsterblicher User abmelden und ich kann's ins Script einbauen. :)

    Grüße,
    klaros

  • Fehler nur auf einem Betriebsystem ...

    • klaros
    • 9. Dezember 2014 um 20:47
    Zitat von misterspeed

    Beim überfliegen deines Quellcodes (Achja wie wäre es wenn du den anderen Thread hier verlinken würdest? Dann braucht man nicht erst selbst danach suchen...), hier mal eine potentielle Fehlerquelle beim Ansprechen eines Arrays...

    In deinem include "_VSDesktopIcons.au3":

    Zeile 64ff

    [autoit]


    If ($ProgName <> "leer") Then ;==> Hilfskonstrukt - muss in der INI angeben sein, falls eine Section / Kachel keine Icons enthält
    $aSplittedString = StringSplit($aSectionInfo[$j][1],"|") ;==> String aufteilen, Trennzeichen "|"
    If @error = 1 Then
    MsgBox(48,'Fehler','Fehler in der INI-Datei: Trennzeichen nicht korrekt!',0)
    Exit
    EndIf
    $aProgName[$ProgNr] = $ProgName ;== Programmname - wird vielleicht noch gebraucht (ToolTip ...)
    $aProgPath[$ProgNr] = $aSplittedString[1] ;==> Programmpfad
    $aClassName[$ProgNr] = $aSplittedString[3] ;==> ClassenName des Programmes
    Local $IconPicInfo = $aSplittedString[2] ;==> Icon / Bild (Pfad)

    [/autoit]

    Du prüfst hier zwar ob es einen grundsätzlichen Fehler beim stringsplit gab, aber nicht ob die erwartete Ergebnismenge auch wirklich vorhanden ist. Wird der String nur in zwei statt in drei Teile zerlegt wird dein Script beim Ansprechen des dritten Array Indexes abstürzen.

    Mehr Problemstellen sind mir auf Anhieb jetzt nicht aufgefallen, du scheinst durchgehend recht gründlich auf Fehler zu prüfen.

    Alles anzeigen

    Erstens habe ich "oben" den Link zum Thread eingefügt und hier jetzt auch noch mal: Link zum Thread ;)

    Und zweitens bist du gut. Saugut! :thumbup:
    Ich Döspaddel hatte nach meinem Umbau des Scriptes auf Class-Bezeichnungen die Ini-Datei auf dem Server nicht erneuert.
    Deswegen lief die kompilierte Version auf dem lokalen Arbeitsrechner und in den IDEs, weil dort die richtige INI "gezogen" wurde.
    AUA! :cursing:

    Damit ist genau der von dir beschriebene Fehlerzustand (bei Stringsplit ins Array schreiben) eingetreten.
    Wird sofort abgefangen!!! :)

    Grüße,
    klaros

  • Fehler nur auf einem Betriebsystem ...

    • klaros
    • 9. Dezember 2014 um 19:56
    Zitat von Alina

    evtl mit RunAs ?
    Sehe mal in die Hilfe und auch die dort unter RunAS aufgelistete verwandte Funktionen.

    Hm ...
    Ich habe das Script in anderer Fassung kompiliert auf dem Server starten können.
    Deswegen kann ich nicht glauben, dass es etwas mit Benutzrrechten zu tun haben wird ...
    Der Fehler soll sich ja auf ein falsch definiertes / gefülltes Array beziehen; da werde ich mal weitersuchen oder / und experimentieren. :)

    Ergänzung zum Fehlerbild:
    Der Desktop mit den vier Farbkacheln wird noch gezeichnet.
    Danach würden die Icons angelegt werden - da kommt dann aber die oben genannte Fehlermeldung ...


    Grüße,
    klaros

  • Fehler nur auf einem Betriebsystem ...

    • klaros
    • 8. Dezember 2014 um 21:57

    Hallo zusammen,

    nun dachte ich, ich hätte das Problem mit dem Abmelden auf dem Server mit dem Befehl: run(@SystemDir & "\logoff.exe") gelöst, da wirds ganz komisch.

    Die kompilierte Version des Autoitscripts läuft auf dem Server (Win 2008R2 64Bit) nicht und schmeisst den Fehler:
    Error: Array variable has incorrect number of subscripts or subscript dimension range exceeded

    Lokal kann ich das Script auf Win 8.1 64Bit kompiliert laufen lassen.

    UND auf BEIDEN Systemen funktioniert das Script, wenn ich es über F5 in der IDE starte (ISN Autoit Studio).

    Das ganze Script liegt als ZIP im Thread : Pseudo Desktop - Konstruktive Kritik ;)

    Auf besonderen Wunsch nachträglich ein Link auf den Thread :)

    Was ist denn da los?

    Grüße,
    klaros

  • Pseudo Desktop - Konstruktive Kritik :-)

    • klaros
    • 7. Dezember 2014 um 13:18

    Hallo

    Erstmal einen Riesendank für euer Mitdenken und den Einsatz - besonders an Oscar!

    Zitat von Oscar

    Bei mir mit Win 7, 64 Bit bleibt die Taskleiste und der Startbutton ausgeblendet, während der gesamten Laufzeit des Programms.


    Wir haben den Windows Sever 2008R2 - ich schicke da mal ein Testszenario hoch und schaue, ob es mit der Taskleiste klappt.

    Zitat von Oscar

    Wie bereits gesagt, ich wusste nicht, welche Features gewünscht sind. Ich habe keine Erfahrung mit geistig Behinderten und wie sie mit Computerprogrammen umgehen.
    Falls Du bei dem Programm noch Hilfe brauchst, solltest Du vielleicht mal etwas ausführlicher auf die speziellen Anforderungen eingehen.

    Nochmal: Riesendank für die Unterstützung!
    Mein Plan ist aber nicht, dass andere die Arbeit für mich machen.
    Ich will mich da ja selber reinfuchsen und werde bei "Notfällen" um Rat fragen.

    Trotzdem kann ich ja mal versuchen, die allgemeinen Anforderungen aufzulisten:

    • für die Schüler soll das Programm den Desktop ersetzen und durch die 4 Farbkacheln, große und wenige Icons übersichtlich und aufgeräumt aussehen - dazu gehört auch ein Icon für das einfache Abmelden der Sitzung vom win 2008r2-Server
    • (die (Clients Win 7 Prof. 64Bit) sind so eingestellt, dass Schüler dort eigentlich nur die Anmeldung erledigen können - lokal geht (fast) nichts, damit die Client-Rechner "sauber" bleiben)
    • in zwei der Kacheln werden Lernprogramme abgelegt - das ist der einfache Teil, da diese Programme speziell für unsere Schülerschaft sind und in der Regel im Vollbildmodus starten
    • in einer Kachel werden Multimediaprogramme und der Internetbrowser (Firefox) abgelegt, ab hier könnte es nötig sein, für cut & paste mehrere Programme starten zu können
    • gleiches gilt für die 4te Kachel: "Büroprogramme" plus Datei-Explorer
    • bei den Büroprogrammen gibt es zwei Gründe bei Standardprogrammen zu bleiben: a) die Schüler lernen was für die "Wirklichkeit" b) meine lieben KollegInnen wollen sich nicht umorientieren :rolleyes: (die fluchen schon, weil wir aus Lizenz- und Kostengründen kein MS-Office sondern nur Open / LibreOffice benutzen können) - dabei gäbe es z. B. sehr aufgeräumte Textverarbeitungen

    Speziellere Anforderungen:

    • ressourcenschonend (als recht kleine Schule werden in Stoßzeiten evtl. ein Dutzend Clients auf dem Server angemeldet sein und den Pseudo Desktop gestartet haben)
    • gutes Fehlermanagement (eigentlich selbstverständlich) mit fallback auf den normalen Desktop damit auf jeden Fall gearbeitet werden kann (inkl. Hotkey zum Beenden des Pseudo Desktop)
    • wenn ich das richtig weiß, werden bei einem korrekten Abmelden alle User-Prozesse beendet, wenn dem nicht so ist oder wenn es einen anderen guten Grund gibt, sollten beim Abmelden alle gestarteten Programme beendet werden
    • KEINE AHNUNG was noch auf mich zukommt! Der Pseudo Desktop (PD) darf ja die Arbeit nicht behindern. Ich bin mir aber sicher, dass es Situationen geben wird (bei denen man auf dem PD "festhängt" und z. B. nicht an Programme oder Dateien kommt) an die ich jetzt noch gar nicht denke ...

    Ich habe jetzt eine Fassung mit EventMode und INI-Datei (hoffentlich bringt mich Oscar nicht um ...) die könnte jetzt auf Code-Vereinfachung und Fehler begutachtet werden.*
    Fehlermanagement wollte ich jetzt bald mal angehen ...

    *) Ich weiß, dass ich gerne Lösungen in 20 Zeilen schreibe, für die man auch mit 3 Zeilen auskommen könnte. :S

    Ansonsten brassele ich mal weiter und stelle hier Zwischenergebnisse ein bzw. stelle konkret Fragen ...

    Grüße,
    klaros

  • Pseudo Desktop - Abmelden vom Server - Wie am besten?

    • klaros
    • 6. Dezember 2014 um 11:29

    Hallo zusammen,

    ich brassele mich ja weiter durch mein "Pseudo Desktop" Projekt ...

    Schülern soll nach Anmeldung auf dem (Terminal-) Server ein vereinfachter Desktop angezeigt werden - ein Autoit-Programm soll sich über den richtigen Desktop legen (siehe andere Posts zum Pseudo Desktop).

    Ich würde gerne einen Button / ein Icon ablegen, über das man sich von dieser Terminalsitzung abmelden kann.
    Ich scheine dafür aber Adminrechte besitzen zu müssen.
    Als normaler User passiert folgendes:
    shutdown(0) geht gar nicht (nichts passiert)
    shellexecute(*Pfad*\shutdown.exe -l) öffnet nur ein Dos-Fenster (Parameter -l wird korrekt übergeben.)

    Das finde ich irgendwie "verrückt", da ja natürlich jeder Benutzer über den Windows-Start-Button und dann "Abmelden" genau das machen kann ...

    In einem Admin-Forum wurde auch ganz banal geschrieben, dass man sich einen Link auf den Desktop legt, der genau das obige enthält "shutdown -l"

    Bevor ich mir noch einen Account in einem Server-Administrator-Forum zulegen muss ...
    Hat jemand hier die Ahnung, woran das liegt - was ich machen muss?

    Grüße,
    klaros

  • Pseudo Desktop - Konstruktive Kritik :-)

    • klaros
    • 5. Dezember 2014 um 20:20
    Zitat

    Boah! ?(

    Jetzt habe ich versucht, die Ini-Fassung mit der OnEventMode-Lösung von Oscar zu verbinden und habe einen dicken Knoten im Hirn.

    Ich kann die Icons (als PNGs - Super :) ) darstellen. Es wird auch kein Syntaxfehler oder so angezeigt.
    Dennoch kann ich keine Programme starten - der "Desktop" scheint sogar einzufrieren, da ich das Programm nicht mehr mit ALT-F4 beenden kann.

    Irgendwo hier muss es haken - oder in der Funktion _DesktopIconsAnlegen()

    Peinlich, peinlich, peinlich ... :whistling:
    Der Fehler lag natürlich in der _DestopIconsAnzeige() und bei mir.
    Die laufende $ProgNr wurde falsch gebildet.
    Zum Glück hatte ich ein Testszenario in dem das aufgefallen ist.
    Wenn ich in jeder Kachel ein Icon angelegt hätte, wäre der Fehler erst aufgetreten, wenn ich / jemand eine Kachel leergelassen hätte ..., ui ui ui.

    Jetzt geht es weiter mit dem öffnen mehrerer Programme - oder auch nicht ...

    Grüße,
    klaros

  • Pseudo Desktop - Konstruktive Kritik :-)

    • klaros
    • 4. Dezember 2014 um 21:24
    Zitat von Oscar

    Ich habe die Kacheln als einzelne Fenster erstellt. Das hat den Vorteil, dass man die Koordinaten für die Anwendungen jeweils Kachelbezogen angeben kann.
    So ist es auch ganz einfach eine Anwendung auf eine andere Kachel zu verlegen. Die Koordinaten bleiben gleich, nur der Eintrag für die Kachel wird geändert.

    Das hört sich von den Koordinaten her vereinfachend an.

    Zitat von Oscar

    Ich persönlich bevorzuge auch den OnEventMode (gerade bei mehreren GUIs). Dieser Modus führt dazu, dass man mehr in Funktionen schreibt (IMHO weniger
    fehleranfällig oder zumindest leichter zu debuggen).

    Na prima, da stolpere ich im Message-Loop-Modus durch die Gegend und kann mich direkt mal um den Event-Modus kümmern. ;)
    Übrigens scheints du ja mit deiner Vorliebe gegen den Strom zu schwimmen - hier zu lesen.

    Hab ich das richtig verstanden?
    Das hier:
    WinWaitClose($hMainGui) ; warten, bis das Hauptfenster geschlossen wurde
    Exit
    ersetzt jetzt die While Wend Geschichte?

    Zitat von Oscar

    Die Taskleiste und den Startbutton habe ich bei meiner Variante ausgeblendet (bei Programmende werden sie wieder angezeigt).
    Ich habe das jetzt so geschrieben habe, dass nur eine Anwendung gleichzeitig gestartet werden kann (Programm wartet auf das beenden der Anwendung).
    Ich weiß nicht, ob das so gewünscht ist oder nicht. Wenn nicht, lässt sich das auch ändern.

    Jou, das habe ich bemerkt und bin zweigeteilter Meinung ...
    Einerseits finde ich das gut wegen der "Sparsamkeit" / Übersichtlichkeit.
    Andererseits kommt von meinen Usern bestimmt der Wunsch auf, z. B. aus einem Browserfenster direkt was in einen Texteditor zu kopieren ...
    (Ich versuch mal die Änderung alleine hinzubekommen, das wird mir helfen, deinen Code besser zu verstehen.)

    Ach übrigens!
    Durch den Start einer Anwendung wird bei mir sehr wohl die Startleiste wieder eingeblendet und verschwindet wieder, wenn ich die Anwendung schließe.
    Ist das bei dir nicht so? (Auf meinem Rechner habe ich Win 8.1)

    Ansonsten werde ich am Wochenende mal tiefer in die Materie einsteigen. Heute hatte ich auch nur ein bisschen Zeit dafür.

    Alina:
    Danke für deinen Tipp mit "WinMerge" aber die Codedateien von Oscar und "mir" (die Idee mit den Label's als Kacheln kommt von BugFix) sind unterschiedlich wie Katz und Maus. :D

    Grüße,
    klaros

  • Pseudo Desktop - Konstruktive Kritik :-)

    • klaros
    • 3. Dezember 2014 um 23:26

    Hi Osar,

    nö, dein Script verstehe ich nicht ... ;)
    Ne, ne ich hab's mir gerade erst mal kurz zur Gemüte geführt - weil am Mac sitzend noch nicht gestartet ...
    Und außerdem: Riesen-Dank dafür, dass du mir einen ganzen Script-Vorschlag schickst!!! :thumbup:

    Super ist schon mal deine UDF für die Icons!
    Alles was ich probiert habe, um png's zu konvertieren und sie gut aussehen zu lassen, war Murks.

    Die Hauptdatei muss ich mir Schritt für Schritt anschauen - viele Funktionen o. ä. kenne ich noch nicht.
    Das geht über die Hilfefunktion aber ganz gut.

    Was sich mir nicht so schnell erschließen wird, wo dein Codse pragmatischer / effizienter / sicherer ist.
    Bzw. wo in meinen Code die heftigsten Fallstricke sind, mit denen du "nicht leben" kannst.
    Da fehlen mir einfach die Erfahrung und Hintergrundwissen.

    Vielleicht hast du noch Zeit und Lust mir da auf die Sprünge zu helfen.
    Ansonsten kommen mir noch bestimmt Fragen, wenn ich mich durch deinen Vorschlag "durchgewurschtelt" habe.

    Danke und Grüße,
    klaros

  • Pseudo Desktop - Konstruktive Kritik :-)

    • klaros
    • 2. Dezember 2014 um 17:32

    Danke für die -> konstruktive <- Kritik.
    Das hat ja schon mal prima geklappt. :)

    Genau. Die Ini soll übergeben werden, damit ich unterschiedliche Desktops anbieten kann (noch mehr / viel weniger Icons).

    In der Ini stehen natürlich nur Programme die wir - auf dem Server - auch installiert haben.
    Da kanns nur am Programmpfad scheitern - dafür muss ich noch den Fehler abfangen ...

    Nach einem "vereinfachten" Browser werde ich mich mal umschauen.
    Problem wird aber eher die (unkalkulierbare) Gestaltung der Webseite sein.
    Und es ist schon erstaunlich, wie geschickt "unsere" Schüler mit Webcontent umgehen können, da dafür eine unglaubliche Motivation vorliegt. (Kann an anderer Stelle dann heftig fehlen 8) ...)

    Notepad ist nur ein Testeintrag.
    In der Ini steht das Programm - glaub ich - dort ohne Pfadangabe.
    Bei mir klappt das so. Evtl. geht's nicht auf jedem Rechner ...
    (Im "Ernstfall" werde ich immer ganze Programmpfade eintragen.)

    Die Icons sind potthäßlich - das habe ich aber auch schon geschrieben.
    Bin noch auf der Suche nach besseren Ico's oder Gif's oder nach einer funktionierenden Konvertierungsform.

    Hover-Effekt wäre cool.
    Ich habe versucht, zumindest den Mauszeiger zu ändern: "Hand". Das klappte aber nicht ...
    Mit anderen MouseOver-Möglichkeiten habe ich mich noch nicht beschäftigt.
    Hat jemand einen Tipp?

    Den Ende-Button werde ich durch einen HotKey ersetzen.
    Mit sowas arbeiten die Schüler nicht. Und wer's kann, darf ihn auch benutzen ... ;)
    Dann brauche ich glaube ich keine Sicherheitsabfrage.

    Leider funktionierte heute beim Testlauf das shutdown(0) bei einem Schüleraccount nicht.
    Da muss ich noch recherchieren, ob das was mit dem Server zu tun hat - lokal klappt das bei sehr gut. 8o

    Mit der Taskleiste ist das so eine Sache.
    Ich kann (noch) nicht dafür sorgen, dass alle Fenster eines Programmes nach vorne geholt werden, wenn (zwischendurch) der Pseudo Desktop in den Vordergrund gekommen ist.
    Aktuell kommt nur das letzte aktive Fenster eines Programmes nach vorne, wenn man wieder auf das Icon klickt.
    Mindestens bei einer Textverarbeitung oder dem Browser können aber neue Fenster nicht nur durch das Programmicon erzeugt werden.
    Solange ich das nicht im Griff habe, muss ich die Taskleiste angezeigt lassen.
    Falls mich da jemand mit einem Codeschnipsel unterstützen würde ...

    Die Programme, die wir benutzen, sind für die Schüler schon passend.
    Es gibt zum einen Lernprogramme mit einfacher Oberfläche und gerne auch im Vollbildmodus, so dass alles übersichtlich bleibt.
    Schüler, die bei uns Texte schreiben, kommen mit den grundlegenden Befehlen von Word oder Open Office zurecht.


    Sieht jemand noch Haken im Code, die sich z. B. auf die Performance auswirken oder Fehler mach sich ziehen könnten?

    Ich freue mich über weitere Kritik, Anregungen und (Coding-) Tipps.

    Grüße,
    klaros

  • Pseudo Desktop - Konstruktive Kritik :-)

    • klaros
    • 30. November 2014 um 12:48

    Hallo zusammen,

    ist jetzt nix dolles aber für meinen Verwendungszweck (geistigbehinderten Schülern eine übersichtliche Programm-Startoberfläche statt des normalen Desktops anzubieten) bin ich damit zufrieden.
    Das ganze habe ich angefangen, da ich nicht in der Lage bin, einen aufgeräumten und gleich aussehenden Desktop per Gruppenrichtlinien für alle Clients zu definieren, da das einfach schon an unterschiedlichen Auflösungen scheitert.
    (Es gibt sogar noch ein paar Probleme aber die lasse ich an dieser Stelle mal weg.)

    Ich bin absoluter Schmalspur-Programmierer und habe mich erst seit Kurzem mit Autoit beschäftigt (vorher ein gaanz kleines bisschen PHP und (Free)Pascal, Lazarus / Delphi).
    Deswegen wüsste ich gerne ob in meinem Spaghetti-Code noch dicke "Nogo's" sind.

    Vielleicht hat ja hier jemand Interesse, mir ein feedback für mein Geschreibsel zu geben ...

    Version 4 (mit ner guten Versionierung hab ich's nicht) liegt seit dem 14.12.14 vor.

    Danke im Voraus und Grüße,
    klaros

  • Pseudo Desktop: Performance schwach

    • klaros
    • 27. November 2014 um 07:28

    Hammer! 8)
    3 x GUIGetMsg() ist 2 x zu viel ...
    Mit dem Speichern in einer Variablen fluppt es. :)

    Danke und Grüße,
    klaros

  • Pseudo Desktop: Performance schwach

    • klaros
    • 26. November 2014 um 21:31
    Zitat von AspirinJunkie

    Anstatt den Rückgabewert von GuiGetMsg() in einer Variable zwischenzuspeichern rufst du immer wieder GuiGetMsg auf.
    Witzigerweise versucht GuiGetMsg() aber auch die CPU zu entlasten und wirkt daher ähnlich einem Sleep.
    Wenn du das nun zig mal in einer Schleife wiederholst, wird klar warum das so lahm wird.

    Öhmm, :S , tatsächlich. Danke für den Hinweis. :)
    AAaaaber in der While-Schleife wird bei einem Turnus im Moment GUIGetMsg() 3x aufgerufen.
    1x In der If-Abfrage, 2x in der For-Schleife (2 Programme in der INI).
    Das soll schon so sehr bremsen?
    Werde ich morgen mal ändern.
    Jetzt bin ich zu müde ... :sleeping:

    Grüße,
    klaros

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™