Announcement

Collapse
No announcement yet.

Prozessstart abfangen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Prozessstart abfangen

    Hallo

    Kennt ihr vieleicht UAC (User Access Control)?
    Ich will für XP etwadas geleiche machen...
    Wie kann ich eine Prozessstart abfangen und ihn nach Bedarf dann ausführen ?

    Lg Methos

  • #2
    Auch hallo,

    hier dürfte das Stichwort "ServiceController" weiterhelfen.
    MfG
    Cheat-Sheets for Developers / Programming Quotes

    Comment


    • #3
      Da gibt es keine einfache vorgefertigte Möglichkeit. Wenn man bei beliebigen Prozessen, vor derren Start auf den Startvorgang Einfluss nehmen möchte
      bleibt wohl nur die entsprechende API Methode zum Starten eines Prozesses auf eine eigenen umzubiegen.

      Hier hiese das wohl die verschiedenen CreateProcess Methoden der Windows API per API-Hooking umzubiegen. Auf solch einen Vorgang sollten aber ein halbwegs guter Virenscanner anspringen und dir auf die Finger klopfen.

      Das wäre auf jeden Fall nur was für einen erfahrenen Systemprogrammierer.

      Comment


      • #4
        OK...
        Gibt es aber eine Möglichkeit einen Prozessstart zu erkennen ?

        Comment


        • #5
          Ïch habe mal diesen Code:
          Code:
          System.Diagnostics.TraceEventCache l = new System.Diagnostics.TraceEventCache();
                      string Name = System.Diagnostics.Process.GetProcessById(l.ProcessId).ToString();
          Ist das eine gute Lösung ?

          Comment


          • #6
            Off topic

            Jeder schaltet den Mist bei Vista aus und für XP soll es das auch geben ;-)
            Christian

            Comment


            • #7
              Wenn du meinst, man kann es ja auch deaktivieren, mich reizt es nur es nachzumachen

              Comment


              • #8
                Ist das eine gute Lösung ?
                Wofür?
                Du holst dir über den TraceEventCache die ProcessId des eigenen Prozesses.
                Und über diese Id wiederum den Namen deines eigenen gerade laufenden Prozesses.

                Beides geht direkt über
                Process.GetCurrentProcess().Id
                bzw.
                Process.GetCurrentProcess().ProcessName

                Du wolltest aber doch den Start irgend eines Prozesses auf dem System mitbekommen. Sehe also zwischen dem was dein gezeigter Code tut und dem Problem das du beschrieben hast keinerlei Zusammenhang.

                Übrigens da du schon bei der Process Klasse bist. Diese hilft dir natürlich nur bei bereits laufenden Prozessen oder bei Prozessen die du selbst über diese Klasse startest. Was du also maximal über diese Klasse leisten kannst ist einen bereits laufenden Prozess wieder abzuschießen wenn dir der nicht gefällt. Den eigentlichen Start zu verhindern ist nicht möglich.

                Comment


                • #9
                  Kann mir jemand ein Beispiel für eine Prozesstarterkennung geben (falls die existiert) ??
                  Wäre echt nett.

                  Beschäftige mich jetzt zum ersten Mal mit der Process-Klasse

                  Lg Methos

                  Comment

                  Working...
                  X