 |
AutoHotkey Community Wir helfen uns gegenseitig aus der Patsche
|
| Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
| Autor |
Nachricht |
anna
Anmeldedatum: 19.12.2007 Beiträge: 24
|
Verfasst am: Mi Mai 14, 2008 8:02 am Titel: Fensternamen ändern sich?? |
|
|
Hallo zusammen,
ich hab ein Problem, seit einigen Tagen versuche ich einen geeigneten Weg zu finden, um das Problem zu lösen.
Ich schreibe ein Skript um Drucker zu installieren, (wir installieren so gut wie täglich Drucker).
Bei manchen Notebooks funktioniert es ohne Probleme, Drucker werden installiert, bei anderen bleibt er dauernd hängen. Ich denke es liegt daran, das sich vielleicht die Fensternamen ändern beim aufrufen.
Wie kann ich eine Allgemeine Einstellung festlegen, damit die Fenster immer angesprochen werden, egal wie sie sich ändern???
Wisst ihr was ich meine??
Einen kurzen Auszug aus meinem Skript
WinWait, Program Manager, FolderView
IfWinNotActive, Program Manager, FolderView, WinActivate, Program Manager, FolderView
WinWaitActive, Program Manager, FolderView
Send, {LWINDOWN}{LWINUP}
WinWait, Startmenü, Alle &Programme
IfWinNotActive, Startmenü, Alle &Programme, WinActivate, Startmenü, Alle &Programme
WinWaitActive, Startmenü, Alle &Programme
Send, d
WinWait, Drucker und Faxgeräte, FolderView
IfWinNotActive, Drucker und Faxgeräte, FolderView, WinActivate, Drucker und Faxgeräte, FolderView
WinWaitActive, Drucker und Faxgeräte, FolderView
Send, {ALTDOWN}{ALTUP}dh{ENTER}
WinWait, Druckerinstallations-Assistent, Willkommen
IfWinNotActive, Druckerinstallations-Assistent, Willkommen, WinActivate, Druckerinstallations-Assistent, Willkommen
WinWaitActive, Druckerinstallations-Assistent, Willkommen
Send, {ENTER}
Sleep, 1000
WinWait, Druckerinstallations-Assistent, Lokaler Drucker, der an den Computer angeschlossen ist
IfWinNotActive, Druckerinstallations-Assistent, Lokaler Drucker, der an den Computer angeschlossen ist, WinActivate, Druckerinstallations-Assistent, Lokaler Drucker, der an den Computer angeschlossen ist
WinWaitActive, Druckerinstallations-Assistent, Lokaler Drucker, der an den Computer angeschlossen ist
Control, UnCheck, , Button4, Druckerinstallations-Assistent, Lokaler Drucker
If Button4 = 0
Sleep, 1000
Control UnCheck, , Druckerinstallations-Assistent, Lokaler Drucker
Send, {ENTER}
WinWait, Druckerinstallations-Assistent, Einen neuen Anschluss erstellen
IfWinNotActive, Druckerinstallations-Assistent, Einen neuen Anschluss erstellen, WinActivate, Druckerinstallations-Assistent, Einen neuen Anschluss erstellen
WinWaitActive, Druckerinstallations-Assistent, Einen neuen Anschluss erstellen
Send,{TAB}{TAB}{TAB}{TAB}{DOWN}s{ENTER}{ENTER}
WinWait, Assistent zum Hinzufügen eines Standard-TCP/IP-Druckerports, Mit diesem Assistent
IfWinNotActive, Assistent zum Hinzufügen eines Standard-TCP/IP-Druckerports, Mit diesem Assistent, WinActivate, Assistent zum Hinzufügen eines Standard-TCP/IP-Druckerports, Mit diesem Assistent
WinWaitActive, Assistent zum Hinzufügen eines Standard-TCP/IP-Druckerports, Mit diesem Assistent
WinWait, Assistent zum Hinzufügen eines Standard-TCP/IP-Druckerports, Standard-TCP/IP-Druc
IfWinNotActive, Assistent zum Hinzufügen eines Standard-TCP/IP-Druckerports, Standard-TCP/IP-Druc, WinActivate, Assistent zum Hinzufügen eines Standard-TCP/IP-Druckerports, Standard-TCP/IP-Druc
WinWaitActive, Assistent zum Hinzufügen eines Standard-TCP/IP-Druckerports, Standard-TCP/IP-Druc
IniRead, Var, \\samba-main\homestand\schn\knmuelle\Programme_Autohotkey\Drucker\ahk.ini, SectionPrinter, drucker001
Send, %Var%
Sleep, 5000
#IfWinActive, Assistent zum Hinzufügen eines Standard-TCP/IP-Druckerports, Das Gerät wurde im N
{
WinActivate
Send, {ENTER}
}
#IfWinActive, Assistent zum Hinzufügen eines Standard-TCP/IP-Druckerports, Sie haben einen Port
{
WinActivate
Send, {ENTER}
}
Sleep, 4000
WinWait, Druckerinstallations-Assistent, Wählen Sie den Herst
IfWinNotActive, Druckerinstallations-Assistent, Wählen Sie den Herst, WinActivate, Druckerinstallations-Assistent, Wählen Sie den Herst
WinWaitActive, Druckerinstallations-Assistent, Wählen Sie den Herst
Send, {TAB}{TAB}{TAB}{TAB}{TAB}{ENTER}
WinWait, Installation von Datenträger, &Dateien des Herstel
IfWinNotActive, Installation von Datenträger, &Dateien des Herstel, WinActivate, Installation von Datenträger, &Dateien des Herstel
WinWaitActive, Installation von Datenträger, &Dateien des Herstel
IniRead, Var, \\samba-main\homestand\schn\knmuelle\Programme_Autohotkey\Drucker\ahk.ini, SectionTreiber, pr001
Send, %Var%
Sleep, 1000
Send, {TAB}{TAB}{ENTER}
WinWait, Druckerinstallations-Assistent, Wählen Sie den Herst
IfWinNotActive, Druckerinstallations-Assistent, Wählen Sie den Herst, WinActivate, Druckerinstallations-Assistent, Wählen Sie den Herst
WinWaitActive, Druckerinstallations-Assistent, Wählen Sie den Herst
Send, {TAB}{TAB}{ENTER}
#IfWinActive, Druckerinstallations-Assistent, HP LaserJet 2300 Ser
{
WinActivate
Send, {ENTER}
}
IniRead, Var, \\samba-main\homestand\schn\knmuelle\Programme_Autohotkey\Drucker\ahk.ini, SectionDrucker, nr1
Send, %Var%
Sleep, 1000
Send, {ENTER}
Control, Check, , Button2, Druckerinstallations-Assistent, Geben Sie einen Name
If Button2 = 1
Sleep, 1000
Control Check, ,Button2, Druckerinstallations-Assistent, Geben Sie einen Name
Sleep, 1000
WinWait, Druckerinstallations-Assistent, Wenn dieser Drucker
IfWinNotActive, Druckerinstallations-Assistent, Wenn dieser Drucker , WinActivate, Druckerinstallations-Assistent, Wenn dieser Drucker
WinWaitActive, Druckerinstallations-Assistent, Wenn dieser Drucker
Control, Check, , Button1, Druckerinstallations-Assistent, Drucker nicht freigeben
If Button1 = 1
Control Check, ,Button1, Druckerinstallations-Assistent, Drucker nicht freigeben
Sleep, 1000
Send, {ENTER}
Sleep, 1000
WinWait, Druckerinstallations-Assistent, Soll eine Testseite
IfWinNotActive, Druckerinstallations-Assistent, Soll eine Testseite , WinActivate, Druckerinstallations-Assistent, Soll eine Testseite
WinWaitActive, Druckerinstallations-Assistent, Soll eine Testseite
Control, Check, , Button3, Druckerinstallations-Assistent, Soll eine Testseite gedruckt werden?
If Button3 = 1
Sleep, 1000
Control Check, , Button3, Druckerinstallations-Assistent, Soll eine Testseite gedruckt werden?
Sleep, 1000
Send, {ENTER}
WinWait, Druckerinstallations-Assistent, Fertigstellen des As
IfWinNotActive, Druckerinstallations-Assistent, Fertigstellen des As, WinActivate, Druckerinstallations-Assistent, Fertigstellen des As
WinWaitActive, Druckerinstallations-Assistent, Fertigstellen des As
Send, {ENTER} |
|
| Nach oben |
|
 |
Obi-Wahn
Anmeldedatum: 19.04.2006 Beiträge: 651 Wohnort: Wien
|
|
| Nach oben |
|
 |
anna
Anmeldedatum: 19.12.2007 Beiträge: 24
|
Verfasst am: Mi Mai 14, 2008 8:22 am Titel: |
|
|
Weil wir unterschiedliche Betriebssysteme haben und mit der Druckerinstallation zusammen auch Software installieren wollen.
Bei der Druckerinstallation müssen ja auch Einstellungen vorgenommen werden und die Druckertreiber eingebunden werden.
Mein eigentliches Probleme ist, das es manchmal funktioniert, manchmal nicht. Leider finde ich den Fehler nicht, was ich falsch gemacht habe.
Muss ich das mit SetTitelMatchMode machen, oder wie kann ich es so abändern, das es ohne Probleme auf jedem Rechner läuft?? |
|
| Nach oben |
|
 |
Obi-Wahn
Anmeldedatum: 19.04.2006 Beiträge: 651 Wohnort: Wien
|
Verfasst am: Mi Mai 14, 2008 9:27 am Titel: |
|
|
| anna hat Folgendes geschrieben: | | Weil wir unterschiedliche Betriebssysteme haben ... |
Sieht so aus, als würdest du das auf einem XP system aufgezeichet haben. Sicher dass die anderen Systeme dieselben kommandos, ids, ... benutzen?
| anna hat Folgendes geschrieben: | | ...und mit der Druckerinstallation zusammen auch Software installieren wollen.... |
Das kann man aber auch, wenn die Drucker per Kommandozeile installiert werden.
| anna hat Folgendes geschrieben: | | ...Bei der Druckerinstallation müssen ja auch Einstellungen vorgenommen werden und die Druckertreiber eingebunden werden.... |
Das kann man alles in der Komandozeilen-gestützen variante deffinieren.
| anna hat Folgendes geschrieben: | | ...Mein eigentliches Probleme ist, das es manchmal funktioniert, manchmal nicht.... |
Siehe Systemkompatibilität ganz oben in meinem Post
| anna hat Folgendes geschrieben: | | ...Muss ich das mit SetTitelMatchMode machen, oder wie kann ich es so abändern, das es ohne Probleme auf jedem Rechner läuft?? |
Währ schon mal nicht schlecht.
Auf jeden fall solltest du die anderen Systeme (deiner aussage nach verwendest du je mehrere verschiedene) auf das übereinstimmen der ControlIDs testen.
Sollten differenzen entstehen, dann kann man das mit einer If-Abfrage und dem Vergleich des Systems (%A_OSVersion%) ausmärzen.
Anyway: Meiner ansicht nach, währe eine Installation über die Kommandozeile:
a.) Zeitsparender
b.) Nervensparender
c.) Proffessioneller
d.) Platzsparender im Code
Was das Installieren von Software betrifft: Kennst du dich mit Unattended Installationen aus? Denn - ohne dich irgendwie schlecht machen zu wollen - wenn die Software-Installation auch so aussieht, verbringst du mehr zeit mit dem nachbessern von Installationen als dem eigentlichen Installieren.
Check mal die seite www.windows-unattended.de
Da gibts eine Schalter- und eine Reg-Tweaks-Datenbank für unbeaufsichtigte Installationen.
Du kannst auch gerne was halbwegs fertiges von mir benutzen DOWNLOAD SCRIPT, oder in der Scripte und Functions sektion nach dem wort "Installer" suchen. Da gibts auch schon fertiges....
Greets
O-W
EDIT: BTW: Bitte beim Code-Posten auch die Code-Tags benutzen. Danke _________________ Garten ist eine Kunstnatur
Das Leben ist nicht fair. Es ist nur fairer als der Tod, das ist alles.
Obi-Wahns Codeschnipsel @ securityvision.ch |
|
| Nach oben |
|
 |
anna
Anmeldedatum: 19.12.2007 Beiträge: 24
|
Verfasst am: Mi Mai 14, 2008 10:09 am Titel: |
|
|
Mein Text ist gerade irgendwie verschwunden
Vielleicht taucht er ja irgendwo wieder auf.
Ich hab ja überhaupt keine Ahnung, das gebe ich gerne zu.
Weder mit Autohotkey noch mit einer .inf-Datei.
Ich wüsste leider nicht, wie ich die aufbauen sollte.
Bei deinem Installer, gibt es dort keine "Benutzeroberfläche" in der ich auswählen kann, was installiert werden soll??
Wenn ich deine Installer.ahk öffne wird nichts angezeigt??
Ich hab im Forum nichts gefunden, wie die AHK-Dateien aufgebaut sind, die für die Installation aufgerufen werden.
Eine Benutzeroberfläche habe ich schon gefunden, nur leider nicht, wie die AHK-Dateien für den Aufruf der Installation aufgebaut sind.
Die Softwareinstallation funktioniert ja komischer Weise
Ich kenn mich ja nicht aus, deshalb benötige ich ja dringend hilfe |
|
| Nach oben |
|
 |
Obi-Wahn
Anmeldedatum: 19.04.2006 Beiträge: 651 Wohnort: Wien
|
Verfasst am: Mi Mai 14, 2008 10:25 am Titel: |
|
|
Das keine Gui kommt, rührt daher, dass beim Uploaden die "Zeichen" auf Unattended (also unbeaufsichtigt installieren) gestanden sind.
Ändere in der installer.ini in der Sektion "General" den Wert des Schlüssels "Unattended" von "Ja" auf "Nein", und schon wird ne GUI angezeigt.
Der Aufbau der .ini von mir ist eigentlich ganz einfach:
| Code: | [1]
Programname=Notepad++ 4.3
Pfad=.\Programme\npp.4.3.Installer.exe
Parameter=/S
Nachinstallation=
Unattended=Ja
[<fortlaufende_nummer>]
Programname=<name_für_die_gui>
Pfad=<pfad_der_installationsdatei>
Parameter=<silent_switch>
Nachinstallation=<pfad_für_nachinstallations_tool>
Unattended=<unbeaufsichtigt_installieren> |
Der Key "Unattended" greift nur, wenn der Key "Unattended" in der Sektion "General" auf "Ja" gestellt ist.
Soll heissen: Wenn Unbeaufsichtigt installiert werden soll, wird das Programm auch installiert.
Silent Switchs bekommt man auf www.windows-unattended.de, oder indem man ussf (den link solltest du im forum finden) verwendet.
Was die geschichte mit den Druckern angeht: Wie wird der Treiber installiert? Per mitgelieferter .inf datei oder übers netzwerk, oder wie??? _________________ Garten ist eine Kunstnatur
Das Leben ist nicht fair. Es ist nur fairer als der Tod, das ist alles.
Obi-Wahns Codeschnipsel @ securityvision.ch |
|
| Nach oben |
|
 |
anna
Anmeldedatum: 19.12.2007 Beiträge: 24
|
Verfasst am: Mi Mai 14, 2008 10:30 am Titel: |
|
|
Über das Netzwerk werden die Drucker installiert.
Ich weiß, dass das Skript, welches ich geschrieben habe, nicht den "Programmierstandards" entspricht, aber ich hab leider überhaupt keine Ahnung.
Deshalb habe ich diesen ScriptWriter und dieses Windows Spy benutzt, um herauszufinden, wie die Namen der einzelnen Fenstern sind, leider scheint das ziemlich ungenau zu sein.
Auch verstehe ich nicht, das wenn ich möchte, das er einen Befehl nur dann ausführt, wenn auch dieses Fenster erscheint, mit #IfWinActive nicht funktioniert.
Woran liegt das?? Laut Beschreibung ist IfWinActive doch hierfür gedacht, oder?? |
|
| Nach oben |
|
 |
anna
Anmeldedatum: 19.12.2007 Beiträge: 24
|
Verfasst am: Mi Mai 14, 2008 10:35 am Titel: |
|
|
Noch eine kurze Frage, zu deinem Installer.
Du rufst dieses Programm über den Pfad auf, aber wie legst du die Einstellungen fest, welche du haben möchtest??
Ich möchte ja, das das Programm aufgerufen wird und dann selbstständig installiert.
Weist du was ich meine??? |
|
| Nach oben |
|
 |
anna
Anmeldedatum: 19.12.2007 Beiträge: 24
|
Verfasst am: Mi Mai 14, 2008 10:39 am Titel: |
|
|
Sorry ich schon wieder,
aber auch wenn ich von nein ja auf nein wechsele wird leider keine GUI mit Auswahl angezeigt, sondern nur das Minifenster  |
|
| Nach oben |
|
 |
Obi-Wahn
Anmeldedatum: 19.04.2006 Beiträge: 651 Wohnort: Wien
|
Verfasst am: Mi Mai 14, 2008 10:40 am Titel: |
|
|
Mit IfWinActive schon, aber nicht mit #IfWinActive
#IfWinActive ist für Hotkeys (Win + n, z.b.) gedacht, die nur bei Fenstern mit bestimmten kriterien ausgeführt werden sollen.
BTW: Würdest du bitte deinen Code aus dem Ersten post IM ERSTEN POST in codetags setzen. Thx.
Ich schau mir noch mal schnell den Syntax an, und los gehts...
EDIT:
a.) Bitte Edit button verwenden....
b.) Ich ändere in den einzelnen Sektionen bei "Unattended" von "Ja" auf "Nein" für die programme die ich nicht installiert haben will.
c.) Das Mini-Fenster IST eine Gui. Dadurch dass aber nur 5 Programme in der .ini eingetragen sind, werden auch nur 5 einträge angezeigt. Die Gui erweitert sich selbst, wenn mehr einträge in der .ini sind. _________________ Garten ist eine Kunstnatur
Das Leben ist nicht fair. Es ist nur fairer als der Tod, das ist alles.
Obi-Wahns Codeschnipsel @ securityvision.ch |
|
| Nach oben |
|
 |
anna
Anmeldedatum: 19.12.2007 Beiträge: 24
|
Verfasst am: Mi Mai 14, 2008 10:57 am Titel: |
|
|
Sorry, aber ich kann im Augenblick überhaupt nicht folgen
Was meinst du mit IM ERSTEN POST in codestags setzen??
Es tut mir leid  |
|
| Nach oben |
|
 |
Obi-Wahn
Anmeldedatum: 19.04.2006 Beiträge: 651 Wohnort: Wien
|
Verfasst am: Mi Mai 14, 2008 11:08 am Titel: |
|
|
| anna hat Folgendes geschrieben: | ...Es tut mir leid  |
DAS SOLLTE ES AUCH!!!
(Ne, nur spass )
In deinem Ersten Post bitte deinen Code in Codetags setzen, denn sonnst wird das hier schnell unübersichtlich.
Was die Druckerinstallation angeht: Ich habs nicht getestet, weil mir auf die schnelle ein ausreichendes Netzwerk fehlt, aber das sollte funktionieren:
| Code: | s_IP = 127.0.0.1
s_Drucker = CanonIP5000
s_Treiber = %s_IP%\freigegebener_treiber_ordner\treiber_datei.inf
c_Anschluss = LPT1:
c_Name = Canon IP 5000
d_Modell = Canon IP 5000
; Zum hinzufügen einer Netzwerkdruckerverbindung
RunWait, %A_Windir%\system32\rundll32.exe printui.dll,PrintUIEntry /q /in /n \\%s_IP%\%s_Drucker%
; Zum installieren eines Lokalen Druckers mit dem Treiber über's Netzwerk
RunWait, %A_Windir%\system32\rundll32.exe printui.dll,PrintUIEntry /if /b "%c_Name%" /f "%s_Treiber%" /r "%c_Anschluss% /m "%d_Modell%"
ExitApp |
Mahlzeit
O-W _________________ Garten ist eine Kunstnatur
Das Leben ist nicht fair. Es ist nur fairer als der Tod, das ist alles.
Obi-Wahns Codeschnipsel @ securityvision.ch |
|
| Nach oben |
|
 |
anna
Anmeldedatum: 19.12.2007 Beiträge: 24
|
Verfasst am: Mi Mai 14, 2008 12:07 pm Titel: |
|
|
also, irgendwie muss ich irgendwo einen Fehler haben.
Kannst du mir vielleicht nochmal helfen??
Wo ist mein Fehler??
s_IP = 172.16.0.55
s_Drucker = pr006
s_Treiber = %s_IP%\\\samba-main\installation\Windows\Treiber\HPLaserjet2300\win2000_XP\pcl6\hp2300c.inf
c_Anschluss = Standard TCP/IP Port
c_Name = pr006
d_Modell = pr006
; Zum installieren eines Lokalen Druckers mit dem Treiber über's Netzwerk
RunWait, %A_Windir%\system32\rundll32.exe printui.dll,PrintUIEntry /if /b "%c_Name%" /f "%s_Treiber%" /r "%c_Anschluss% /m "%d_Modell%"
ExitApp
s_IP = 127.0.0.1
s_Drucker = CanonIP5000
s_Treiber = %s_IP%\freigegebener_treiber_ordner\treiber_datei.inf
c_Anschluss = LPT1:
c_Name = Canon IP 5000
d_Modell = Canon IP 5000
; Zum hinzufügen einer Netzwerkdruckerverbindung
RunWait, %A_Windir%\system32\rundll32.exe printui.dll,PrintUIEntry /q /in /n \\%s_IP%\%s_Drucker%
; Zum installieren eines Lokalen Druckers mit dem Treiber über's Netzwerk
RunWait, %A_Windir%\system32\rundll32.exe printui.dll,PrintUIEntry /if /b "%c_Name%" /f "%s_Treiber%" /r "%c_Anschluss% /m "%d_Modell%"
ExitApp |
|
| Nach oben |
|
 |
BoBo² Gast
|
Verfasst am: Mi Mai 14, 2008 12:14 pm Titel: |
|
|
| Lieber Gott (in Stellvertretung des allmächtigen Himmelsokupators ein Moderator), erkläre dem anna doch bitte, es möchte die Code-Tags des Forums benutzen wenn es code postet, sonst drehen hier noch Einige am Rad. |
|
| Nach oben |
|
 |
Obi-Wahn
Anmeldedatum: 19.04.2006 Beiträge: 651 Wohnort: Wien
|
Verfasst am: Mi Mai 14, 2008 12:16 pm Titel: |
|
|
Code Tags Benutzen denn:
ICH HAB AUCH EINEN CLOSE BUTTON
Ich denke mal, du willst einen Netzwerkdrucker installieren, oder?
Oder eher einen lokalen (steht neben dem schreibtisch) Drucker mit treibern übers netzwerk vom server?
Lokal:
| Code: | s_IP = 172.16.0.55
s_Treiber = %s_IP%\installation\Windows\Treiber\HPLaserjet2300\win2000_XP\pcl6\hp2300c.inf
c_Anschluss = LPT1:
c_Name = pr006
d_Modell = ; Möp, das ist der falsche. der richtige steht aber in der .inf (Schätze mal sowas wie "HP LaserJet 2300 by HP")
RunWait, %A_Windir%\system32\rundll32.exe printui.dll,PrintUIEntry /if /b "%c_Name%" /f "%s_Treiber%" /r "%c_Anschluss% /m "%d_Modell%" |
Ich bin mir aber jetzt nicht sicher, ob das so stimmt...
Im zweifelsfall kannst mir auch die .inf wo uppen, dann schau ichs mir selbst an.
BTW: Was willst du eigentlich im endeffekt machen? _________________ Garten ist eine Kunstnatur
Das Leben ist nicht fair. Es ist nur fairer als der Tod, das ist alles.
Obi-Wahns Codeschnipsel @ securityvision.ch |
|
| Nach oben |
|
 |
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten.
|
Powered by phpBB © 2001, 2005 phpBB Group Deutsche Übersetzung von phpBB.de
|