Announcement

Collapse
No announcement yet.

Code von Programm herausbekommen

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

  • Code von Programm herausbekommen

    Guten Morgen.
    Ich habe folgendes Problem, man kann aus meinem Programm den Taskmanager aufrufen (durch ne Tastenkombi). Ich will aber, wenn er aufgerufen wird, ihn gleich wieder schließen. Sodass da niemand im Taskmanager rumspielen kann.
    Nur wie realisier ich das!?

    Hab schon rausgefunden das man das mit der WinAPI machen muss.
    Ein Programm beenden kann ich schon einmal (ExitProcess());
    Nur brauch ich ja den Code von dem Programm um es beenden zu
    können. Wie bekomme ich den Code von dem Programm raus!?

    Vielen dank...


    Entwiclungsumgebung ist eMbedded Visual C++ und WinCE.

  • #2
    Was soll das wieder werden? Solche Programme würden ich als Maleware ansehen und gleich wieder löschen!!

    Welchen Grund hat es das der User nicht mehr Systeminterne Funktionen mehr verwenden kann? Soll der user seinen PC wohl hart resetten wenn dein Programm einen Deadlock hat und 100% rechenzeit anfordert?

    Comment


    • #3
      Ich will damit keine illegale Energie entwickeln oder so.

      Nur auf dem WinCE Gerät ist ein Programm, schon von Haus aus drauf,
      welches auf der F6 Taste den Taskmanager belegt. Da aber der
      Benutzer ihn nicht aufrufen darf um mein Programm zu beenden, muss ich
      sowass machen. Sry

      Comment


      • #4
        Nur brauch ich ja den Code von dem Programm um es beenden zu
        Da es um den Code vom Taskmanager geht, wirst du dich wohl an MS wenden müssen.

        Es gibt keine Methode um aus einer EXE, DLL u.a. wieder C/C++ oder sonstigen Hochsprachencode zu machen.

        Allein du kannst das Programm dissassemblieren und dir daraus Assemblercode erzeugen lassen...

        Besser du schauist nach Möglichkeiten, den Aufruf des Taskmanagers zu sperren. Das ist unter XP,Vista möglich. Ob unter CE??

        Das rumgefusche sonst bringt nichts
        Christian

        Comment


        • #5
          Ich glaube ihr versteht mich falsch, ich will nicht den Programmcode, sondern
          den EXITCODE von dem Programm. Weil man ja nicht die .exe beenden kann, sondern man brauch den HEX Code von dem Programm. Also an welcher Speicheradresse das steht würd ih jetzt mal sagen...

          EDIT
          Wie kann ich den Zugriff sperren!?

          Comment


          • #6
            Ich glaube ihr versteht mich falsch, ich will nicht den Programmcode, sondern
            den EXITCODE von dem Programm. Weil man ja nicht die .exe beenden kann, sondern man brauch den HEX Code von dem Programm. Also an welcher Speicheradresse das steht würd ih jetzt mal sagen
            Glaube du verstehst da etwas falsch....

            Also an welcher Speicheradresse das steht würd ih jetzt mal sagen
            Seit wann wird ein Programm in an die gleiche Speicheradresse geladen?? Ein Programm wird beim compilieren und linken mit allen Adressen relativ zu 0 erzeugt. Beim Laden werden dann diese Adressen an die tatsächliche Gegebenheit angepasst. Somit läuft ein Programm immer an/mit unterschiedlichen Adressen.



            Normale Programme werden - wenn sie den darauf reagieren - durch das Senden einer WM_CLOSE Message beendet. Beim Taskmanager wird das wohl nicht gehen. Beenden dürft auch nicht gehen, da wohl sonst das BS sehr merkwürdig darauf reagiert.
            Christian

            Comment


            • #7
              Seit wann wird ein Programm in an die gleiche Speicheradresse geladen?? Ein Programm wird beim compilieren und linken mit allen Adressen relativ zu 0 erzeugt. Beim Laden werden dann diese Adressen an die tatsächliche Gegebenheit angepasst. Somit läuft ein Programm immer an/mit unterschiedlichen Adressen.
              Is mir schon klar, das sie nicht immer an die gleiche Speicheradresse geladen werden. Hab ich ja auch nie behauptet. Wollte damit nur näher erklären was ich mit Code meine.

              Normale Programme werden - wenn sie den darauf reagieren - durch das Senden einer WM_CLOSE Message beendet. Beim Taskmanager wird das wohl nicht gehen. Beenden dürft auch nicht gehen, da wohl sonst das BS sehr merkwürdig darauf reagiert.
              Den Taskmanager kann man doch normal, per Cancel..., schließen. Und so will ich das auch machen. Er wird geöffnet, das merkt mein Programm, und beendet es wieder.

              Comment


              • #8
                Ach ja und ExitProcess

                http://msdn.microsoft.com/en-us/libr...99(VS.85).aspx

                will nur den Returncode haben, den das Programm an das aufrufende übermittelt .....üblicherweise 1, kann aber auch etwas völlig anderes sein. Da denken sich die Leute aus, die das Zusammenspiel der Programme entwerfen....hier MS
                Christian

                Comment


                • #9
                  Der Link hilft mir irgendwie nicht weiter, trotzdem Danke.

                  Comment


                  • #10
                    Den Taskmanager kann man doch normal, per Cancel..., schließen.
                    Vielleicht erstmal die Begrifflichkeiten klären:

                    Mit Cancel wird nicht das Programm geschlossen, sondern nur das Fenster wird nicht angezeigt....
                    Das Programm läuft weiter...das ist etwas anderes als ExitProcess

                    Der Link hilft mir irgendwie nicht weiter
                    Ein Beispiel zu ExitProcess
                    Zuletzt editiert von Christian Marquardt; 16.06.2008, 11:29.
                    Christian

                    Comment


                    • #11
                      Mit Cancel wird nicht das Programm geschlossen, sondern nur das Fenster wird nicht angezeigt.... Das Programm läuft weiter
                      Gut dann bin ich schon a bissle schlauer. Also will ich, wenn der Taskmanager geöffnet wurde, ihn gleich wieder schließen bzw. nich mehr sichtbar machen. Man könnte ihn auch einfach "hinter" mein Programm setzen oder!?

                      Comment


                      • #12
                        Habs jetzt so bewerkstelligt, das die ganze Zeit ein Timer mein Programm mit Hilfe von ShowWindow() immer in den Vordergrund stellt.

                        Danke für die Hilfe...

                        Comment

                        Working...
                        X