Avatar billede spif2001 Nybegynder
14. december 2005 - 16:22 Der er 4 kommentarer og
1 løsning

Fange et close event sendt af c++ app

Hej

Jeg står i en situation, hvor en c++ updater app, vil overskrive min .net exe fil, medens min .net app der er startet via den exe fil kører.

Kan jeg i min .net app lytte på noget, der gør at jeg kan lukke på en ordentlig måde?

Kan ikke rigtig leve med, at c++ app'en bare laver en process.kill på mig, da vigtige data derved kan gå tabt.

TIA
-spif2001
Avatar billede driis Nybegynder
14. december 2005 - 16:39 #1
Det komemr lidt an på hvordan C++ app'en rent faktisk udfører nedlukningen af dit program. Har du adgang til C++ kildekoden, så du kan undersøge det ?

Den "pæne" måde at gøre det på i C++ er at sende en message til programvinduet, der beder det om at lukke. Hvis det er det, der sker, kan du fange denne message, gemme dine data, og dernæst lade dit program lukke ned.
Avatar billede spif2001 Nybegynder
14. december 2005 - 16:42 #2
Gutten med c++ delen siger, at han da godt vil lave en message til mit program vindue.

Men hvordan fanger jeg så denne message? Evt. et kode eksempel.
Avatar billede driis Nybegynder
14. december 2005 - 16:50 #3
Det gøres ved at override WndProc. Noget i den her retning

      protected override void WndProc(ref Message m)
        {
            if ( m.Msg == THE_MESSAGE )
            {
                // save stuff
            }
            base.WndProc(ref m);
        }

Hvor THE_MESSAGE så er den message identifier, C++ programmet bruger. At du kalder base.WndProc gør at .NET programmet svarer normalt på alle messages.
Avatar billede spif2001 Nybegynder
14. december 2005 - 17:00 #4
Cool - så er det jo c++ duden der har det meste bøvl - hæhæ

Tak for hjælpen :)
Avatar billede spif2001 Nybegynder
14. december 2005 - 17:57 #5
En lille detalje:

Efter min makker sendte en message til min Main Form, ryger beskeden faktisk ind i min Form's closing event. Ergo skulle jeg faktisk ikke lave en dyt og overriding af WndProc blev unødvendigt...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Cyberdivisionen søger chef for Lokal IT i hovedstadsområdet

AL Sydbank A/S (tidligere Arbejdernes Landsbank)

Afdelingschef til GDPR & Tech Regulation

Nextway Software A/S

Product Configuration Specialist