Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > .NET Languages
You last visited: Today at 17:08

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[VB.NET]Prüfen ob eine Anwendung startet

Discussion on [VB.NET]Prüfen ob eine Anwendung startet within the .NET Languages forum part of the Coders Den category.

Closed Thread
 
Old   #1


 
Requi's Avatar
 
elite*gold: 3570
The Black Market: 244/0/0
Join Date: Dec 2012
Posts: 13,044
Received Thanks: 8,252
[VB.NET]Prüfen ob eine Anwendung startet

Hey Leute,

bei uns im Jugendhaus sind kleine Kinder, die immer was spielen wollen. Meist ist es Minecraft. Eigentlich immer.

Nun wollte ich ein "kleines" Passwort-System schreiben, dass sie nicht mehr so einfach Minecraft etc. starten können.(Für jede Anwendung ein Passwort eingeben)

Für Minecraft alleine habe ich es schon geschafft. Ich will es nun so haben:

Pseudocode:
Code:
If Eine Anwendung Startet Then
Me.Show()
Else
Me.Hide[
End If
So ungefähr meine ich es. Google hat mir nur Ergebnisse für einzelne Prozesse gegeben, was mir leider nicht hilft.


MfG
ya Pony /)
Requi is offline  
Old 03/21/2013, 22:23   #2
 
Mansuro's Avatar
 
elite*gold: 462
The Black Market: 110/0/0
Join Date: Mar 2013
Posts: 3,427
Received Thanks: 333
Meinst du es so ?
Code:
If Process.Start("C:\irgendwas.exe") then
......
Mansuro is offline  
Old 03/22/2013, 04:24   #3
 
elite*gold: 100
Join Date: Aug 2005
Posts: 595
Received Thanks: 208
Mhh

Könntest du genauer erklären was du da machen willst ?
Soll es ein Tool werden das jeden Start überwacht oder eines das das Programm startet wenn das Richtige Passwort eingegeben wurde ?

Das ganze ist nicht soo trivial wie es sich anhört

Hier ein Beispiel wie du das System und alle gerade laufenden Process ohne einen Hook abfragen kannst

Code:
  List<string> programme = new List<string>();
            programme.Add("notepad");

            Process[] allproc = Process.GetProcesses();

            foreach (Process x in allproc)
            {
                if (programme.Contains(x.ProcessName))
                {
                    MessageBox.Show("wurde gestartet");
                }
            }
Müsstest dann noch eine Liste pflegen die die Entsprechden Processhandles aufnimmt so das nicht doppelt abgefragt wird, das ganze periodisch aufrufen.
In der Passwortfunktion das Passwordwindow immer in den Fordergrund holen etc.
Weiß leider nicht wie gut das ganze in Sachen Ressourceneffiziens wäre, ich tip mal auf nich so toll :P

@smokingdeath

Was genau soll dieser Code bewirken ? +g+
Also wenn ich das nun nicht total falsch verstehe würde dein Code

irgendwas.exe starten
wenn windows den process starten kann tue etwas
*kopfkratz*
dready is offline  
Old 03/22/2013, 08:18   #4


 
Requi's Avatar
 
elite*gold: 3570
The Black Market: 244/0/0
Join Date: Dec 2012
Posts: 13,044
Received Thanks: 8,252
Er soll jedes mal, wenn ein Prozess gestartet wird der NICHT mit dem Start drin ist, die Form zum Passwort anzeigen.

Also jegliche Prozesse die existieren.

Hab mir schon überlegt, die aktuelle Prozessliste zu speichern, jede Sekunde überprüfen und wenn sich was ändert, die Form anzeigen soll.
Requi is offline  
Old 03/22/2013, 08:27   #5
 
elite*gold: 100
Join Date: Aug 2005
Posts: 595
Received Thanks: 208
Mhhh kannst etwas genauer erklären wie du dir das vorgestellt hattest ?

Edit: nach etwas nachdenken komm ich zu dem Schluss das was du da machen magst so ganz und garnicht trivial ist

Der Weg den du bisher gegangen bist wird auf diese Größe ausgedehnt ordentlich Cpu fressen. Das wäre zwar immernoch machbar aber weiß nicht ob das so das Geschickteste ist :/

Die einfachste Lösung wäre es wohl CreateProcess systemwide zu hooken, aber bin mir nicht sicher ob das für dich Lohnenswert ist, da es durchaus einiges an Arbeit erfordert und nicht gerade trivial ist mit C#
dready is offline  
Old 03/22/2013, 09:19   #6


 
Requi's Avatar
 
elite*gold: 3570
The Black Market: 244/0/0
Join Date: Dec 2012
Posts: 13,044
Received Thanks: 8,252
Ich will das auch in Vb machen
Requi is offline  
Old 03/22/2013, 09:40   #7
 
elite*gold: 100
Join Date: Aug 2005
Posts: 595
Received Thanks: 208
Vb und C# sind beides .net Sprachen, solltest also alles in der einen wie der anderen umsetzen können
Ist mehr oder weniger nur ein anderer Syntax aber am ende kommt das selbe raus
dready is offline  
Old 03/22/2013, 11:02   #8


 
Requi's Avatar
 
elite*gold: 3570
The Black Market: 244/0/0
Join Date: Dec 2012
Posts: 13,044
Received Thanks: 8,252
Es wird doch wohl iwie möglich sein
Requi is offline  
Old 03/22/2013, 11:10   #9
 
elite*gold: 100
Join Date: Aug 2005
Posts: 595
Received Thanks: 208
Sicher Wie gesagt dein Ansatz von oben würde ja funktionieren, aber er wird einfach eine menge Systemleistung fressen
dready is offline  
Old 03/22/2013, 11:14   #10
 
kissein's Avatar
 
elite*gold: 0
Join Date: Sep 2005
Posts: 427
Received Thanks: 87
Ist bereits in Windows integriert, nennt sich Jugendschutzeinstellung
kissein is offline  
Old 03/22/2013, 12:16   #11
 
elite*gold: 1000
Join Date: Apr 2012
Posts: 1,003
Received Thanks: 208
Quote:
Originally Posted by dready View Post
Sicher Wie gesagt dein Ansatz von oben würde ja funktionieren, aber er wird einfach eine menge Systemleistung fressen
Nee Das frisst nicht allzu viel Leistung. Man muss ja nicht alle 5ms die Prozesse checken. 200ms reichen ja auch aus.
qkuh is offline  
Old 03/22/2013, 13:21   #12


 
Requi's Avatar
 
elite*gold: 3570
The Black Market: 244/0/0
Join Date: Dec 2012
Posts: 13,044
Received Thanks: 8,252
Ich kann es ja auch alle 5000ms Ch ecken lassen.
So wird der PC nicht extrem überlastet.
Requi is offline  
Old 03/22/2013, 14:31   #13
 
tolio's Avatar
 
elite*gold: 2932
The Black Market: 169/1/0
Join Date: Oct 2009
Posts: 6,966
Received Thanks: 1,097
du kannst nur die liste aller prozesse durchsuchen aber du kannst nicht ohne weiteres ein event erstellen welches auslöst wenn ein prozess irgendwie irgendwo auf dem pc gestartet wird

wenn du immer die laufenden prozesse durchsuchst musst du entweder mit einer white oder einer blacklist arbeiten anders wird es nicht klappen
tolio is offline  
Old 03/23/2013, 10:48   #14


 
Requi's Avatar
 
elite*gold: 3570
The Black Market: 244/0/0
Join Date: Dec 2012
Posts: 13,044
Received Thanks: 8,252
Dann muss ich nochmal überdenken wie ich das auf die einfachste Weise machen kann.
Requi is offline  
Old 03/23/2013, 12:46   #15
 
elite*gold: 100
Join Date: Aug 2005
Posts: 595
Received Thanks: 208
Code:
Public Shared allreadychecked As New List(Of Process)()

Private Sub Form1_Load(sender As Object, e As EventArgs)
	Dim programme As New List(Of String)()

	programme.Add("notepad")

	Dim allproc As Process() = Process.GetProcesses()

	For Each x As Process In allproc
		If programme.Contains(x.ProcessName) Then
			startcheck(x)
		End If
	Next

End Sub

Private Sub startcheck(x As Process)
	If allreadychecked.Contains(x) Then
		Return
	End If

	' hier pw abfrage anzeigen und pwcheck darin aufrufen

End Sub

Private Sub pwcheck(pw As String, x As Process)
	If x.ProcessName = "notepad" Then
		If pw = "notepadpw" Then
			allreadychecked.Add(x)
		Else
			x.Kill()
		End If
	End If

End Sub
Ist durchn Converter gejagt, von der Performance her sich nicht optimal und ganz allgemein nicht getestet, aber ich hoff mal du kannst verstehen was der Gedanke bei dem ganzen war.
dready is offline  
Closed Thread


Similar Threads Similar Threads
Harmonia3 Anwendung startet nicht [Bitte um Hilfe]
07/04/2012 - Metin2 Private Server - 1 Replies
Sers leute ich habe folgendes problem. Wenn ich von Harmonia3 die exe starten möchte passiert einfach nichts der mauszeiger lädt etc aber es öffnet sich nichts ist auch bei anderen p-servern so weiß einer von euch warum ?
Suche jmd. der mir eine Facebook Anwendung installiert
01/23/2012 - elite*gold Trading - 2 Replies
Huhu zusammen, ich habe auf meinem Rechner eine fertige Anwendung. Auch schon auf einen Webspace geladen. Nun weiß ich allerdings nicht, wie ich diese zu meiner Facebook Page hinzufüge. Suche jmd. der das via Teamviewer macht. Mfg
[AutoIT] Eine alternative Anwendung ausführen?
05/04/2011 - AutoIt - 7 Replies
Heyho Coders, Ich hab mal wieder eine Frage. Undzwar habe ich vor in meinem Tool eine Exe per shellexecute("test.exe")
[Guide] Prüfen ob eine Seite per SQL Injection angreifbar ist.
10/28/2010 - Tutorials - 14 Replies
Achtung: Ich übernehme in keinster Weise Verantwortung dafür wenn ihr durch diesen Guide bei irgentwelchen Seiten was anstellt. 1) Um zu prüfen ob eine Seite per SQL Injection angreifbar ist müsst ihr einen Link finden der so aussieht: Die Seite braucht ganz einfach nur ein = in den URL. Bei der URL schreibt ihr noch ein ' dahinter, Bsp.: Wenn die Seite bzw. die Datenbank angreifbar ist, kriegt ihr eine MySQL Fehlermeldung so wie diese:



All times are GMT +1. The time now is 17:08.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.