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.
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*
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#
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
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
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.
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: