• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

[C#] Blue Screen erzeugen

derwunner

Mitglied
Hallo,
ja, ihr habt richtig gelesen, ich möchte einen Blue Screen erzeugen.
Fragt mich jetzt bitte nicht, ob das Programm einen Sinn hat. :p;ugl
Das Programm (sollte) folgendermaßen funktionieren: Es soll Prozess für Prozess killen, und zwar solange bis der Blue Screen kommt.

Hier mal den Code dazu:
Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics;
using System.Collections;

namespace bluescreen
{
    class Program
    {    
        static void Main(string[] args)
        {
            string test = null;
            Process[] procs = Process.GetCurrentProcess();
            int left;

            foreach (Process proc in procs)
            {
                test = proc.ToString();
                proc.Kill();
                left = procs.Count;
                Console.WriteLine(left + " Processes are still running. Process" + test + " was killed muhaha");
                Console.Clear();;
            }
        }

    }
}


Laut dem VS Compiler ist ein Fehler in folgender Zeile:
Code:
Process[] procs = Process.GetCurrentProcess();


Steht aber genauso in MSDN. Compilermeldung: Fehler 1 Eine implizite Konvertierung vom Typ "System.Diagnostics.Process" in "System.Diagnostics.Process[]" ist nicht möglich. C:\CSharp\bluescreen\bluescreen\Program.cs 15 31 bluescreen

Und hier:
Code:
left = procs.Count;


Compilermeldung: Fehler 2 Die Methodengruppe "Count" kann nicht in den Nichtdelegattyp "int" konvertiert werden. Wollten Sie die Methode aufrufen? C:\CSharp\bluescreen\bluescreen\Program.cs 22 24 bluescreen

Was mache ich falsch? Ich wäre euch sehr verbunden, wenn ihr mir weiterhelfen könnt. BTW: Kann man eigentlich durch Prozesse beenden ein Betriebssystem abschießen, oder bekommt man da wirklich nur Blue Screen? ;ugl


MFG derwunner
 
Zuletzt bearbeitet:
Werbung:
Das ist ganz einfach.
Fehler 1: versuchts mal mit "System.Diagnostics.Process.GetProcesses()"
Du versuchts grade dein eigenes Programm zu killen ;)

Fehler 2: procs ist ein Array und bei einem Array gibts kein Count das heißt hier Length.

Ich glaube eh das dein Vorhaben nicht funktionieren wird, da du gewisse Prozesse nicht beenden kannst!

Wenn du einen Blauen erzeugen willst wird C# vermutlich die falsche Sprache sein, da sie Managed ist soetwas wie einen Blue Screen eigentlich verhindern soll.

Versuch mal mit C++ und überschreib einfach mal die ersten paar MB im Ram, dann wird der Blaue ziemlich schnell kommen.

Gruß KY
 
jo, danke.Jetzt ist es nur noch ein Fehler, wenn ich die Zeile wie folgt schreibe:
Code:
System.Diagnostics.Process[] procs = System.Diagnostics.Process.GetCurrentProcess();

VB Compiler: Fehler 1 Eine implizite Konvertierung vom Typ "System.Diagnostics.Process" in "System.Diagnostics.Process[]" ist nicht möglich. C:\CSharp\bluescreen\bluescreen\Program.cs 16 50 bluescreen


MFG derwunner
 
Werbung:
Wie ky_fr34k schon sagte. Versuchs mal mit GetProcesses.
Du könntest aber auch einen Fake-Blue-Screen anzeiegn, das geht bestimmt einfacher.

Grüße, JasonDelife.
 
Ich glaube eh das dein Vorhaben nicht funktionieren wird, da du gewisse Prozesse nicht beenden kannst!
Man kann doch auch mit dem Cmd-Befehl Tasklist(oder auch anders, kenn mich mit C# nicht aus) die Namen der Prozesse besorgen und dann einzeln mit dem Cmd-Befehl taskkill /f anwendung.exe beenden. Ich bin mir nicht sicher ob das funktioniert(wollte es lieber nicht ausprobieren:grin:), aber ein Freund von mir hat damit den Taskmanager beenden können.;ugl
mfg Bleistift
 
In C# erledigt man das wie von ky_fr34k gesagt mit der Process-Klasse. Diese bietet eine Methode Kill(). Aber Systemprozesse lassen sich damit genausowenig wie mit dem Task Manager oder taskkill beenden. Der Task Manager kann aber sich selbst killen (geht tatsächlich), da er kein Systemprozess ist, der zwingend notwendig ist.

Grüße, JasonDelife.
 
Werbung:
Zurück
Oben