c ++ - Angivelse af kommandoparametre til at køre applikationen med, når brugeren stifter min ansøgning

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg har en visuel applikation udviklet med Qt og kompileret med Visual Studio, og det bruger kommandolinjeparametre til to vigtige formål:



  • Den eksekverbare er kompileret på Windows som en kommandolinjeapplikation, der åbner en visuel grænseflade til debugging, men under normale omstændigheder løber den med en launcher, der undertrykker kommandolinjevinduet og går lige til åbning af den visuelle grænseflade.

  • Kommandolinjeparametre for eksekverbare bruger til at starte i bestemte tilstande, der er lavet til at ligne forskellige applikationer.



Når brugeren peger på min applikation på proceslinjen, mens den kører, er der ved at højreklikke på dens proceslinjeknap kun den eksekverbare uden kommandolinjeparameter fastgjort. Så når brugeren lancerer den fra stiften, lancerer den applikationen med en kommandolinje og i standardtilstanden, uanset hvilken tilstand den kørte, da brugeren klæbte den ind.


Det samme problem opstår, hvis brugeren højreklikker på proceslinjeknappen for applikationen og klikker på navnet for at starte en ny forekomst af den.


Er der en måde at angive til Windows, hvilken kommandolinje skal placeres i stiften, når brugeren stifter applikationen på proceslinjen fra proceslinjeknappen, eller når brugeren genstarter den fra proceslinjeknappen?

Bedste reference


Simpel Windows-løsning, Opret en Kort sigt til appen (New->Shortcut), og vælg derefter de appnavn og kommandolinjeparamenter du vil have i xyz.exe param1). Når genvej er oprettet, skal du knytte det til proceslinjen! På den måde har du lyst til at oprette flere stifter med forskellige navne svarende til parameternavnet (Tænk på det: Hvad forventer du, at Windows skal gøre mere end det?)


Hvis du ellers foretrækker at holde ting indeholdt i din app, skal du bare pope en besked fra appstart til at anmode brugeren om sådanne kommandolinje -parametre.