start wordpad.exe /p "path\filename.ext"
--
Du har modtaget denne besked, fordi du abonnerer på gruppen "DAPUG" i Google Grupper.
Hvis du vil ophæve abonnementet på denne gruppe og ikke længere modtage mails fra den, skal du sende en mail til dapug+un...@googlegroups.com.
Du kan se denne diskussion ved at gå til https://groups.google.com/d/msgid/dapug/CAMfLAoDjkA27uhvjTAAWD2qK1DxY3VOhQ-JeJGTa4oxT6j-Stw%40mail.gmail.com.
Hej Søren,
Hvis du blot kopierer wordpad.exe ind på en Windows maskine er den jo ikke registreret i Windows.
For at kunnebruge ShellExecute skal Windows vide hvad skal der ske med en fil af denne type. Windows oversætter det til at kalde et program med en parameter. F.eks. "Wordpad.exe minFil.rtf"
Hvis du højreklikker på en filtype kan du vælge "åbn med" og herinde er der mulighed for at vælge "brug altid Program.exe til at åbne denne type fil" og så vil det virke.
Men det næste er rettigheder. Jeg har ikke sat mig ind i det, men tvivler på at du har ret til at distribuere wordpad.exe til dine kunder, og jeg forestiller mig heller ikke dine kunder er specielt interesserede i at have ikke-licenseret software kørende på deres maskiner.
Jeg vil tro at den letteste måde er at lave print rutinen selv.
Måske sådan noget som:
RichEdit1 : TRichEdit;
RichEdit1.LoadFromFile;
RichEdit1.Print('Caption for the printer queue');
Hej Jens,Det med licens har du selvfølgelig ret i. Jeg forestillede mig dog at når programmet er udfaset fra version 23H2 til 24H2, i Win 11, så ville licensen for Win 11 stadig dække den, men det er der nok flere meninger om :-)Løsningen med RichEdit1.print virkede dog og løste problemet i dette tilfælde. Jeg benytter allerede en RichText til at opbygge kvitteringen (som det er i dette tilfælde) og gemte den med SaveToFile som en rtf fil som så blev udskrevet med ShellExecuteA(). Årsagen til den løsning var at filen altid hedder det samme (der er kun en kvittering ad gangen) og via den fil det lå, kunne man ændre egenskaberne for udskriften, individuelt fra sted til sted, uden at skulle ændre programmet. Men det viser sig at det er der ingen der har benyttet sig af, så derfor er .print løsningen fin nok.HilsenSøren