Du bist nicht angemeldet.

LegendPhoenix

Registrierter Benutzer

  • »LegendPhoenix« ist männlich
  • »LegendPhoenix« ist der Autor dieses Themas

Beiträge: 10

Dabei seit: 21. August 2010

Wohnort: Deutschland

  • Private Nachricht senden

1

Sonntag, 22. August 2010, 12:06

Per tastendruck prozess killen

Hallo,
ich wollte fragen ob es möglich ist über vbs das in windows vorhanden ist ein script zu erstellen das:
-sobald es gestartet wurde z.b. auf den tastendruck f7 wartet
-sobald f7 gedrückt wurde wird dann ein prozess gekillt z.b. notepad.exe
Ich bin noch totaler Anfänger und ich freue mich auf jede antworten :)
Danke im vorraus:
MfG LegendPhoenix

Smoove

Registrierter Benutzer

  • »Smoove« ist männlich
  • »Smoove« wurde gesperrt

Beiträge: 421

Dabei seit: 26. Dezember 2009

Frühere Benutzernamen: Gutelaunetyp

Hilfreich-Bewertungen: 9

  • Private Nachricht senden

3

Sonntag, 22. August 2010, 18:47

Hallo,
das würde per Windows Forms Anwendung deutlich einfacher gehen als mit einem Script.

Kann mir überhaupt nicht vorstellen , das dies überhaupt mit VbScript geht.


Mfg Kevin.

Beiträge: 21

Hilfreich-Bewertungen: 2

  • Private Nachricht senden

4

Sonntag, 22. August 2010, 20:14

Hi,

einen Prozess zu killen ist mit VBScript kein Problem, am besten gehts ohne externe Programme so:

Quellcode

1
2
3
4
5
6
prozessname="notepad.exe"   'Der Prozessname
 For each prozess in GetObject("winmgmts:{impersonationLevel=impersonate,(Debug)}").ExecQuery("SELECT * FROM Win32_Process")
   If Prozess.name=prozessname then
  	prozess.terminate(0)
   End If
 Next


Wichtig ist hier, dass nur 32bit-Prozesse ausgegeben werden. Für 64bit-Prozesse muss dann wahrscheinlich einfach das 32 durch ein 64 ersetzt werden, kann das nicht genau sagen da ich ein 32bit-System habe.

Globale Tastenevents abzufragen ist aber meines Wissens mit VBScript sehr schwierig aber bestimmt auch nicht unmöglich.

Mfg RUDI!

xXIXx

iWhat!?‮‮

Beiträge: 86

Dabei seit: 19. Mai 2010

Wohnort: Schweiz, Aargau‮‮‮‮‮

Frühere Benutzernamen: xXIXx

Hilfreich-Bewertungen: 41

  • Private Nachricht senden

5

Sonntag, 22. August 2010, 20:22

Habs bei 64 bit getestet läuft ohne etwas abzuändern ;)
Star mich nicht so an, ich bin auch nur eine Signatur.
ACTA|Twitter|ProgramNews|problem?

jvbsl

Noob

  • »jvbsl« ist männlich

Beiträge: 7 206

Dabei seit: 7. April 2010

Hilfreich-Bewertungen: 397

  • Private Nachricht senden

6

Sonntag, 22. August 2010, 20:27

Auch mit 64 Bit Prozessen?
Ich wollte auch mal ne total überflüssige Signatur:
---Leer---

Beiträge: 21

Hilfreich-Bewertungen: 2

  • Private Nachricht senden

7

Sonntag, 22. August 2010, 20:31

Würd mich ehrlich gesagt wundern

LegendPhoenix

Registrierter Benutzer

  • »LegendPhoenix« ist männlich
  • »LegendPhoenix« ist der Autor dieses Themas

Beiträge: 10

Dabei seit: 21. August 2010

Wohnort: Deutschland

  • Private Nachricht senden

8

Sonntag, 22. August 2010, 21:21

Hallo,
danke für alle antworten:
das script von RUDI funktioniert wunderbar (habe 64 bit) aber der tastendruck befehl fehlt noch :(
Kannst du den noch dazu machen, bitte?
Ich habs mal hiermit probiert aber es funktioniert nicht :(

Visual Basic Quellcode

1
2
3
4
5
6
7
8
9
10
11
Public Class Form1
Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
If (e.KeyCode = Keys.S) Then
prozessname="notepad.exe"   'Der Prozessname
For each prozess in GetObject("winmgmts:{impersonationLevel=impersonate,(Debug)}").ExecQuery("SELECT * FROM Win32_Process")
If Prozess.name=prozessname then
prozess.terminate(0)
End If
End Sub
End Class
next

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »LegendPhoenix« (22. August 2010, 21:27)


Beiträge: 21

Hilfreich-Bewertungen: 2

  • Private Nachricht senden

9

Sonntag, 22. August 2010, 22:13

So hab nochmal n bissl recherchiert

Des was du gemacht hast kann eig garnet funktionieren weil du VBScript-Code mit VB.Net-Code gemischt hast ;)
Aber mit VBScript ist es eh unmöglich Tastendrücke abzufragen(und ich hab wirklich so ziemlich alles versucht)

Probiers am besten mit VB.Net und Api-Funktionen (Declare...)

LegendPhoenix

Registrierter Benutzer

  • »LegendPhoenix« ist männlich
  • »LegendPhoenix« ist der Autor dieses Themas

Beiträge: 10

Dabei seit: 21. August 2010

Wohnort: Deutschland

  • Private Nachricht senden

10

Sonntag, 22. August 2010, 22:20

Ja nur ich möchte halt ein script erstellen , dass jeder benutzen kann ohne visual basic .net aufm pc zu haben und als prozess killer dient z.b. für spiele!

Beiträge: 21

Hilfreich-Bewertungen: 2

  • Private Nachricht senden

11

Sonntag, 22. August 2010, 22:30

Nur isses wie gesagt mit VBScript nicht zu realisieren

Und eig ist auf jedem PC ab Win xp sp2 das .Net-Framework installiert, also dürfte das kein Problem sein

Peter77

Registrierter Benutzer

Beiträge: 1

Dabei seit: 23. August 2010

  • Private Nachricht senden

12

Montag, 23. August 2010, 18:09

VBS Endlosschleife manuell/extern stoppen?

Hallo,

ich bin Neu im Forum und Neu im Thema VBScript.

Ich habe ein sehr ähnliches Anliegen: Auf einem Messgerät läuft ein umfangreiches VBScript. Dabei werden in einer Endlosschleife Daten gesammelt und in eine Datei geschrieben. Diese Endlosschleife möchte ich irgendwie manuell abbrechen können.

Erste Idee war, auf einen Tastendruck zu reagieren und entsprechenden Code an geeigneter Stelle im vorhanden Script zu plazieren.

Wenn ich euch richtig verstehe, dann kann aber ein Tastendruck in VBS nicht ohne weiters erkannt werden?

Ist es z.B. möglich, eine MessageBox (oder ähnliches) zu öffnen und bei Bedarf (wenn die Endlosschleife abgebrochen werden soll) zu schließen?

Hab Ihr andere, realisierbare Ideen?

Für Hilfe wäre ich sehr dankbar.

Grüße, Peter

Social Bookmarks