c - Win32 udvikling. standarder

Indlæg af Hanne Mølgaard Plasc

Problem



Et opkald til alle Win32-udviklere ... Jeg udvikler et program i C ved hjælp af almindelig Win32. Jeg ønskede at spørge om Windows-udviklingsstandarder angående disse ting:



  • Er der en standard Windows fejllog api? For eksempel hvis min klient bruger min app og det går ned, vil jeg gerne have dem sende mig fejlloggen, og jeg foretrækker, at dette er en standardplacering, så de måske kan få adgang til det med et standard Windows log-værktøj.

  • Min app skal gemme indstillingsoplysninger. Jeg tror, ​​at registreringsdatabasen er standardværktøjet til denne opgave. Er det rigtigt?

  • Min app skal gemme og hente filer, som den hentede fra internettet - billeder, eksekverbare filer osv. Er Application Data/myapp standardplaceringen til at gemme denne type information?

  • Min app har brug for en meget straight forward-database - jeg bruger CSV til dette. Jeg skal stort set opbevare og hente denne type data, så jeg bare serialiserer en .csv-fil fra Application Data/myapp. Er der en bedre Windows standard måde at gøre dette på?



Det er alt for nu :). Tak!

Bedste reference



  Er der en standard Windows fejllog api?



Der er Windows Event Log, men jeg tror ikke, du vil have en typisk bruger, der skal gå ind i den for at udvinde dine loggede oplysninger.


Du vil sandsynligvis ikke logge som standard, medmindre du sender forsinket pre-release kode. Når en bruger oplever problemer, så har du dem til at logge på. I dette tilfælde anbefaler jeg at placere filen et sted, som typiske brugere har erfaring med, som Mine dokumenter.


Forresten, hvis du skriver en selvstændig ansøgning og ønsker den bedst mulige information i tilfælde af et nedbrud, skal du kigge på minidumper. Her er en kodeprojekteksempel. [3]



  Min app skal gemme indstillingsoplysninger



Yep, register.



  Min app skal gemme og hente filer



Ja, App Data. Bare vær sikker på at bruge SHGetFolderPath og CSIDL\_APPDATA.



  Min app har brug for en meget straight-forward database



Der er ikke noget galt med CSV til simple data.Du kunne gemme dataene i XML og bruge MSXML til at behandle det, hvis du foretrækker det. Jeg har brugt SQlite tidligere, da jeg havde brug for hurtig og let opbevaring af mere komplicerede data.