Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

18.03.2007, 14:42

Win-API: Brauche mal wieder hilfe!

Hallo!
Ich baue gerade ein Programm das die Zeit misst wie lange man vor dem pc sitzt!
Und nach 2 Stunden soll der PC ausgehen!
Mit der Zeit klappt alles wunderbar!
Doch jetzt habe ich 2 Fragen:

Wie merkt das Programm wenn man einfach den Prozess beendet??
Kann man dann noch die zeit speichern??

Und wie merkt das Programm wenn der PC einfach heruntergefahren wird??

Gruß Flo

2

18.03.2007, 14:42

Und dann noch wie man den PC herunterfahren lässt ;)

3

18.03.2007, 15:52

Naja runterfahren geht mit ExitWindowsEx ... vorher musst du dir aber die TOKEN_PRIVILEGES holen ...
Devil Entertainment :: Your education is our inspiration
Der Spieleprogrammierer :: Community Magazin
Merlin - A Legend awakes :: You are a dedicated C++ (DirectX) programmer and you have ability to work in a team? Contact us!
Siedler II.5 RttR :: The old settlers-style is comming back!

Also known as (D)Evil

4

18.03.2007, 16:31

Ok danke!
Das herunterfahren klappt jetzt.
Danke.
Gruß Flo

rewb0rn

Supermoderator

Beiträge: 2 773

Wohnort: Berlin

Beruf: Indie Game Dev

  • Private Nachricht senden

5

18.03.2007, 16:55

Re: Win-API: Brauche mal wieder hilfe!

Zitat von »"F-Wölkchen"«

Wie merkt das Programm wenn man einfach den Prozess beendet??
Kann man dann noch die zeit speichern??


Also wenn der Prozess einfach beendet wird (zB über den Taskmanager, Reiter Prozesse), dann kannst du das soweit ich weiß nicht abfangen. Aber in deinem Fall wird erstmal eine normale Nachricht ans Programm gesendet, dass es sich netterweise mal selbst abschalten soll, und darauf kannst du dann reagieren.

Wie man überprüft ob der PC gerade runtergefahren wird weiß ich nicht, aber vielleicht kannst dus ja so machen, dass der Benutzer das Programm gar nciht selbst abschalten kann, dh immer wenn die beenden nachricht kommt fährt der PC gerade runter (weil anders wird die beenden nachricht nicht gesendet)
Ich hab allerdings nicht so die Ahnung von Windows Programmierung, ist nur so ne Idee.

grek40

Alter Hase

Beiträge: 1 491

Wohnort: Dresden

  • Private Nachricht senden

6

18.03.2007, 18:13

:idea: Geht es für dieses außerplanmäßige Beenden per Taskmanager evtl. auch, ein Objekt in der WinMain zu erstellen, dessen Destructor noch schnell ne Zeit vermerkt?

rewb0rn

Supermoderator

Beiträge: 2 773

Wohnort: Berlin

Beruf: Indie Game Dev

  • Private Nachricht senden

7

18.03.2007, 18:46

Da du beim Beenden eines Prozesses einfach seinen Thread stoppst gehe ich davon aus dass danach überhaupt nichts mehr gemacht wird, also es dürfte nichtmal der Speicher freigegeben werden.

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

8

18.03.2007, 18:54

afaik merkt sich XP welchen Speicher eine Anwendung allokiert hat und gibt es dann beim Beenden auf jeden Fall frei(glaube mich zumindest an sowas erinnern zu können, aber alle Angaben ohne Gewehr ;) )
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

9

18.03.2007, 20:57

Ok! Das mit dem Beenden ist nicht ganz so schlimm weil das programm jede minute die vergangene zeit speichert!
Also das programm kann der benutzer nicht beenden! nur mit dem taskmanager! :(
Und das soll ja eigentlich nicht gehen! Naja aber ist nicht ganz so schlimm.
Weiß denn jemand zufällig wie man das programm in msconfig reinpackt? also automatisch ? Das das Programm sofort beim PC start startet?
Gruß Flo

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

10

18.03.2007, 21:05

Warum nicht einfach in den Autostart Ordner?
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

Werbeanzeige