Der Druckdialog wird von dem Programm aufgerufen, mit dem *.HTML verknüpft ist und welches du mit ShellExecute startest.
Wenn es nicht möglich ist, in den Optionen dieses Programmes den Druckdialog abzuschalten und sofortigen Druck zum Standard-Drucker einzustellen, musst du eben die Seitengestaltung über
HTML-units intern erledigen und dann normal (intern) drucken.
Wobei es eh ziemlich willkürliche Ergebnisse liefert, was du da erzeugt hast; der Standarddrucker kann auf sonst etwas gesetzt sein, die
HTML-Zuordnung auf ein anderes Programm verweien ...