Eräässä projektissa pitäisi lisätä kopiosuojaus softaan (VC:llä koodattu MDI-sovellus). Olen kokeillut toteuttaa suojausta käyttämällä erityistä threadia joka käynnistetään ohjelman mainframen OnCreatessa. Kyseinen threadi nuuskii sopivin väliajoin suojauspalikan läsnäoloa ja jos huomaa sen kadonneeksi lopettaa ohjelman kutsumalla mainframen lopetusmetodia. Jos yritän tehdä lopetuksen OnExitApplicationin kautta seuraa invalid assertion DestroyWindowista. Jos taas käytän OnClosea (joka tosin pitää siirtää protected-lohkosta publiciksi sitä varten) tulee ilmoitus abnormal program terminationista, mutta muuten näyttäisi toimivan ainakin pikaisella kokeilulla, tosin jos dokumentti-ikkuna on auki tulee muistisuojausvaroitus (memory at blah couldn't be read).
PostQuitMessagella ei tunnu olevan mitään vaikutusta, joten se ei tule kyseeseen.
Miten tämä olisi parasta toteuttaa ? Threadifunktio ei voi olla luokan jäsenenä koska muuten CreateThread alkaa valittaa ettei pysty konvertoimaan funtionnimi-parametrin tyyppiä x tyypiksi y.
J.
PostQuitMessagella ei tunnu olevan mitään vaikutusta, joten se ei tule kyseeseen.
Miten tämä olisi parasta toteuttaa ? Threadifunktio ei voi olla luokan jäsenenä koska muuten CreateThread alkaa valittaa ettei pysty konvertoimaan funtionnimi-parametrin tyyppiä x tyypiksi y.
J.
Vastaukset 2
Vanhimmat
http://groups.msn.com/KaappiKoodarit/keskustelupalsta.msnw
kannattaa liittyä... yhteisössä monia todella taitavia koodaajia joilta sopii kysellä... elikkä tällasiin "pikkusiin" kysymyksiin löytyy varmasti vastausta... SUOSITTELEN!!!!
Joo, varmaan tuolta saa apua. Pitänee lisätä suosikkeihin.
Tuo ongelma ratkesi loppujen lopuksi aika kivuttomasti. Yksi rivi
AfxGetMainWnd()->PostMessage(WM_CLOSE, 0, 0);
lopetti ohjelman siististi ja ilman varoituksia.