PDA

Vollständige Version anzeigen : Skript für Programmstart



konfutse
16.04.2015, 10:41
Ich starte HardDiskSentinel mit einer Batchdatei mit folgenden Inhalt:

start C:\"Program Files (x86)\Hard Disk Sentinel"\HDSentinel.exe"

Das Programm startet auch und erwartet die Eingabe des Administratorkennworts weil es nur mit Administratorrechten läuft. Das Eingabefenster dazu taucht manchmal im Vordergrund auf, aber manchmal eben nur in der Taskleiste. Nach Eingabe des Kennworts zeigt HardDiskSentinel auch noch ein Hinweisfenster, in dem ein Counter eine Startverzögerung von 10 Sekunden runterzählt, weil es keine freigeschaltete Vollversion ist. Nach diesen 10 Sekunden muss man das Hinweisfenster schließen und dann auch noch das Programmfenster. HardDiskSentinel heftet sich an die Taskleiste an, von wo man das Programmfenster sichtbar machen kann.

Ich habe den automatisierten Programmstart mit der Aufgabenplanung von Windows versucht, aber da zuckt sich gar nichts.

Wie kann ich HardDiskSentinel mit Windows-Start automatisch ohne weiteres zutun starten? Ich stelle mir ein Skript vor, das HardDiskSentinel startet, das Eingabefenster für das Administratorkennwort aktiv macht, das Kennwort einträgt und nach den 10 Sekunden Wartezeit das Hinweisfenster und das Programmfenster schließt.

Murmillo
17.04.2015, 10:29
Ich starte HardDiskSentinel mit einer Batchdatei mit folgenden Inhalt:

start C:\"Program Files (x86)\Hard Disk Sentinel"\HDSentinel.exe"

Das Programm startet auch und erwartet die Eingabe des Administratorkennworts weil es nur mit Administratorrechten läuft. Das Eingabefenster dazu taucht manchmal im Vordergrund auf, aber manchmal eben nur in der Taskleiste. Nach Eingabe des Kennworts zeigt HardDiskSentinel auch noch ein Hinweisfenster, in dem ein Counter eine Startverzögerung von 10 Sekunden runterzählt, weil es keine freigeschaltete Vollversion ist. Nach diesen 10 Sekunden muss man das Hinweisfenster schließen und dann auch noch das Programmfenster. HardDiskSentinel heftet sich an die Taskleiste an, von wo man das Programmfenster sichtbar machen kann.

Ich habe den automatisierten Programmstart mit der Aufgabenplanung von Windows versucht, aber da zuckt sich gar nichts.

Wie kann ich HardDiskSentinel mit Windows-Start automatisch ohne weiteres zutun starten? Ich stelle mir ein Skript vor, das HardDiskSentinel startet, das Eingabefenster für das Administratorkennwort aktiv macht, das Kennwort einträgt und nach den 10 Sekunden Wartezeit das Hinweisfenster und das Programmfenster schließt.

Ich glaube nicht, dass dir da jemand helfen kann. Automatisches Starten des Programmes beim Hochfahren - kein Problem. Muss nur eine Verknüpfung im Ordner "Autostart" angelegt werden. Aber dann hörts auch schon auf. Wenn du nicht in den Programmeinstellungen selbst die Passwortabfrage deaktivieren kannst, sieht es schlecht aus. Genau so mit dem automatischen Schliessen der Fenster. Hierfür müsstest du ins Programm selbst eingreifen.

dZUG
17.04.2015, 11:35
Man könnte einen "Wrapper" programmieren :-)
Oder mal gucken ob es schon einen Wrapper gibt.

Es müsste aber schon mit einer *.bat gehen, unter Linux gehts auch :-)

Unter Linux (Debian) würde es ungefähr so aussehen

#!/bin/bash

echo "password"|sudo -S HarddiskSentinal & pid=$!
sleep 8
zenity --dialog "Hardisksentinal wird geschlossen" &
sleep 2
echo "password"|sudo -S kill $pid

konfutse
17.04.2015, 12:00
Man könnte einen "Wrapper" programmieren :-)
Oder mal gucken ob es schon einen Wrapper gibt.

Es müsste aber schon mit einer *.bat gehen, unter Linux gehts auch :-)

Unter Linux (Debian) würde es ungefähr so aussehen

#!/bin/bash

echo "password"|sudo -S HarddiskSentinal & pid=$!
sleep 8
zenity --dialog "Hardisksentinal wird geschlossen" &
sleep 2
echo "password"|sudo -S kill $pid
Das sagt mir leider nichts.

dZUG
17.04.2015, 12:14
Du möchtest das Passwort in ein Fenster eintragen?
Also es wird nach 10 Sekunden in einem Fenster ein Passort abgefragt??
Also meiner Meinung nach geht das nur mit einem Wrapper den man programmieren muss.
Da muss man sich durch alle sichtbaren und unsichtbaren Windows-Fenstern hangeln und das richtige Fenster finden und über das API-Gerüst im Speicher :-) :-) rumfummeln :-) :-) um nicht zu sagen HACKEN.
Es gibt eine API-Funktion in der Windwos-API die sowas kann aber ob das bei Passwörter geht :-) :-)

konfutse
17.04.2015, 12:20
Du möchtest das Passwort in ein Fenster eintragen?
Also es wird nach 10 Sekunden in einem Fenster ein Passort abgefragt??
Also meiner Meinung nach geht das nur mit einem Wrapper den man programmieren muss.
Da muss man sich durch alle sichtbaren und unsichtbaren Windows-Fenstern hangeln und das richtige Fenster finden und über das API-Gerüst im Speicher :-) :-) rumfummeln :-) :-) um nicht zu sagen HACKEN.
Es gibt eine API-Funktion in der Windwos-API die sowas kann aber ob das bei Passwörter geht :-) :-)
Das Fenster für die Passwortabfrage kommt als erstes, weil das Programm nur mit Administratorrechten startet. Danach kommt das Programmfenster mit dem Fenster im Vordergrund, das sich erst nach 10 Sekunden Wartezeit schließen lässt. Erst danach kann man auf das Programmfenster zugreifen.

dZUG
17.04.2015, 12:24
Kannst du mal über das Dos-Eingabefenster irgendwie das Programm mit help aufrufen

Bei Windwos müsste das so gehten:
Harddisksentinal /help
oder
Harddisksentinal ?

Veilleicht ist eine Hilfe eingebaut, wo es eine Option gibt :-)

Das müsste schon irgendwie gehen es als Admin zu starten, kann dir es aber nicht sagen wie.

konfutse
17.04.2015, 13:24
Kannst du mal über das Dos-Eingabefenster irgendwie das Programm mit help aufrufen

Bei Windwos müsste das so gehten:
Harddisksentinal /help
oder
Harddisksentinal ?

Veilleicht ist eine Hilfe eingebaut, wo es eine Option gibt :-)

Das müsste schon irgendwie gehen es als Admin zu starten, kann dir es aber nicht sagen wie.
Das Problem ist nicht das Programm als Admin zu starten, sondern die Passwortabfrage und die Schließung der Fenster zu automatisieren.

Murmillo
19.04.2015, 09:13
Das Problem ist nicht das Programm als Admin zu starten, sondern die Passwortabfrage und die Schließung der Fenster zu automatisieren.

Die Admin-Passwortabfrage könnte man, glaube ich, mit einer Veränderung der Einstellung der UAC ( User Account Control = Benutzerkontensteuerung) abschalten, nur würde dies dann generell für alle Programme gelten, nicht nur für ein einzelnes.

Murmillo
19.04.2015, 09:39
Ich starte HardDiskSentinel mit einer Batchdatei mit folgenden Inhalt:

start C:\"Program Files (x86)\Hard Disk Sentinel"\HDSentinel.exe"

Das Programm startet auch und erwartet die Eingabe des Administratorkennworts weil es nur mit Administratorrechten läuft. Das Eingabefenster dazu taucht manchmal im Vordergrund auf, aber manchmal eben nur in der Taskleiste. Nach Eingabe des Kennworts zeigt HardDiskSentinel auch noch ein Hinweisfenster, in dem ein Counter eine Startverzögerung von 10 Sekunden runterzählt, weil es keine freigeschaltete Vollversion ist. Nach diesen 10 Sekunden muss man das Hinweisfenster schließen und dann auch noch das Programmfenster. HardDiskSentinel heftet sich an die Taskleiste an, von wo man das Programmfenster sichtbar machen kann.

Ich habe den automatisierten Programmstart mit der Aufgabenplanung von Windows versucht, aber da zuckt sich gar nichts.

Wie kann ich HardDiskSentinel mit Windows-Start automatisch ohne weiteres zutun starten? Ich stelle mir ein Skript vor, das HardDiskSentinel startet, das Eingabefenster für das Administratorkennwort aktiv macht, das Kennwort einträgt und nach den 10 Sekunden Wartezeit das Hinweisfenster und das Programmfenster schließt.

Ich habe jetzt mal spaßeshalber den HD Sentinel pro V4.60 als Testversion installiert. UAC auf kleinster Stufe - und da habe ich sie auch belassen. Nach der Installation ( W7 Pro) habe ich eine Verknüpfung im Autostart-Ordner ( C:\Benutzer\Benutzername\AppData\Roaming\Microsoft \Windows\Startmenü\Programme\Autostart) abgelegt und den Computer neu gestartet.
HD Sentinel wurde ohne Passwortabfrage gestartet, allerdings erscheinen 2 Fenster, zum einen, die Aufforderung zur Registrierung und zum anderen das Programmfenster selbst, welche ich selbst schliessen musste.

dZUG
19.04.2015, 17:56
Das Problem ist nicht das Programm als Admin zu starten, sondern die Passwortabfrage und die Schließung der Fenster zu automatisieren.

Ich bin ja Linux'er, hab jetzt mal geschaut ob man in Windows auch Prozesse (Fenster) killen kann.

http: // www .softwareok.de /?seite= faq-Windows-Console&faq=8
http://www.softwareok.de/?seite=faq-Windows-Console&faq=8

Da dieses Fenster wahrscheinlich dort immer mit dem selben Namen aufgelistet wird, könnte man den Namen dort in der List, mittels eines Windows-Script finden, und über die Nummer (PID) killen.
Wie man das in einem Script bewältigt weiß ich nicht in Windows :-)

In Linux ginge das ungefähr so :-)
top -n 1|grep "Programmfenster_title_zum_beenden"|awk '{print$1}'|while read z;do echo "Windwos_password"|sudo -S kill "$z";done

Aber das bringt dir jetzt nichts

dZUG
19.04.2015, 18:40
Das hier sieht gut aus:

http://superuser.com/questions/702622/how-to-schedule-taskkill-in-bat-file

hier mein Vorschlag:

start C:\"Program Files (x86)\Hard Disk Sentinel"\HDSentinel.exe"
timeout /t 50
taskkill /im "Fenstername"

Den Fenstername sollte man vielleicht mit taskkill vorher finden und eintragen. "Der wird immer der selbe sein"
Vielleicht geht es ja schon so :-)

konfutse
19.04.2015, 19:14
Danke allen. Ich probiere das morgen, wenn ich wieder an dem Rechner bin.

konfutse
20.04.2015, 09:12
Ich habe jetzt mal spaßeshalber den HD Sentinel pro V4.60 als Testversion installiert. UAC auf kleinster Stufe - und da habe ich sie auch belassen. Nach der Installation ( W7 Pro) habe ich eine Verknüpfung im Autostart-Ordner ( C:\Benutzer\Benutzername\AppData\Roaming\Microsoft \Windows\Startmenü\Programme\Autostart) abgelegt und den Computer neu gestartet.
HD Sentinel wurde ohne Passwortabfrage gestartet, allerdings erscheinen 2 Fenster, zum einen, die Aufforderung zur Registrierung und zum anderen das Programmfenster selbst, welche ich selbst schliessen musste.
Weder in diesem, noch in einem anderen Autostartordner, wie dem vom Desktop aus erreichbaren, passiert etwas. Erst wenn ich in der Verknüpfung "Als Administrator ausführen" anhake kommt die Kennwortabfrage und danach wie gehabt die 2 Fenster. Die UAC steht bei mir allerdings auf Standard für Benutzer.



Das hier sieht gut aus:

http://superuser.com/questions/702622/how-to-schedule-taskkill-in-bat-file

hier mein Vorschlag:

start C:\"Program Files (x86)\Hard Disk Sentinel"\HDSentinel.exe"
timeout /t 50
taskkill /im "Fenstername"

Den Fenstername sollte man vielleicht mit taskkill vorher finden und eintragen. "Der wird immer der selbe sein"
Vielleicht geht es ja schon so :-)
Den Fensternamen für das Fenster mit der Wartezeit kann ich nicht finden, weil es unter tasklist nicht angezeigt wird. Ebenso die PID für das Programmfenster, nur die PID für das Programm selbst. Aber das will ich ja nicht killen.


Ich starte jetzt HardDiskSentinel mit der Aufgabenplanung als Benutzer. Da kommt wenigstens immer im Vordergrund die Kennwortabfrage. Die sollte zwar nicht kommen, wenn man in der Aufgabenplanung ein Programm als Administrator (und gespeichertem Kennwort) und unabhängig von der Benutzeranmeldung starten lässt, aber das klappt bei mir nicht. Mit diesen Einstellungen startet das Programm einfach nicht.

Murmillo
20.04.2015, 10:56
Weder in diesem, noch in einem anderen Autostartordner, wie dem vom Desktop aus erreichbaren, passiert etwas. Erst wenn ich in der Verknüpfung "Als Administrator ausführen" anhake kommt die Kennwortabfrage und danach wie gehabt die 2 Fenster. Die UAC steht bei mir allerdings auf Standard für Benutzer.
...

Bei mir ist die Verknüpfung in dem beschriebenen Ordner "Autostart", es ist kein Häkchen im Reiter " Kompatibilität " bei " als Administrator starten" gesetzt, weder bei der Verknüpfung auf dem Desktop noch bei der Verknüfung im Ordner " Autostart"- und das Programm startet von selbst ohne Passwortabfrage.
Bei dir wird das Problem die UAC sein.Bei mir steht sie auf unterster Stufe.
Verstell sie doch einfach mal und schau, wie das Programm dann startet. Ist ja kein Problem, dass dann wieder zurück zu stellen.

Eine Möglichkeit, so ein Programm im Hintergrund zu starten, soll sein, es als Dienst zu starten.Dazu soll es bei Microsoft das Windows Ressourcekit geben.
Anleitung per Video ist hier:www.youtube.com/watch?v=wlTG48-SBI8 oder du findest auch Anleitungen, wenn du als Suchphrase " Programm als Dienst starten" eingibt.

konfutse
20.04.2015, 16:09
Habe es noch mal getestet. Bei allen niedrigeren UAC-Einstellungen als Standard startet das Programm ohne den Haken bei "Als Administrator ausführen" nicht. Dafür kommen Fehlermeldungen:
zuerst:
Failed to set data for ""

nach "Ok":
Festplatte nicht gefunden
System Administrator Rechte für Zugriff auf Laufwerksinformationen erforderlich
Bitte ermöglichen Sie dieser Anwendung, mit den geeigneten Rechten zu laufen


Den Programmstart als Dienst probiere ich auch noch, aber ich denke, dann taucht das Programm nicht in der Taskleiste auf.

dZUG
20.04.2015, 17:59
Lass doch einfach den Computer laufen :-)
Einmal gestartet läufts ja.
Oder geh einfach in Bereitschaft oder wie das bei Windows sich nennt.
Unter Linux muss man eine Swap-Partiton haben die so groß wie der Arbeitsspeicher ist.
In den Hibernate Modus (Bereitschaft? also nicht den Standby).
Dann machst du einfach den Computer wieder an und es sieht so aus wie du ihn auf Urlaub geschickt hast.