AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Aufruf Rundll zur Druckerinstallation
Thema durchsuchen
Ansicht
Themen-Optionen

Aufruf Rundll zur Druckerinstallation

Ein Thema von Mario · begonnen am 18. Mai 2005 · letzter Beitrag vom 19. Mai 2005
Antwort Antwort
Mario

Registriert seit: 7. Apr 2003
567 Beiträge
 
Delphi 2006 Enterprise
 
#1

Aufruf Rundll zur Druckerinstallation

  Alt 18. Mai 2005, 19:10
Hallo,

ich kann an der Kommandozeile folgenden Befehl problemlos ausführen:
Code:
rundll32.exe printui.dll,PrintUIEntry /if /b "PS Printer" /f %windir%\inf\ntprint.inf /r "FILE:" /m "Apple Color LW 12/660 PS"
Es wird unter 2k/XP ein Druckertreiber installiert.

Nun habe ich versucht, dass von meinem Delphi Programm aus zu starten, ohne Erfolg: Der Vorgang konnte nicht abgeschlossen werden

V1:
Delphi-Quellcode:
JCL:
ShellExecEx('rundll32.exe', 'printui.dll,PrintUIEntry /if /b "PS Printer" /f %windir%\inf\ntprint.inf /r "FILE:" /m "Apple Color LW 12/660 PS"','', SW_SHOWNORMAL);
V2:
Delphi-Quellcode:
Delphi WinApi:
ShellExecute(0, 'open', 'rundll32.exe', 'printui.dll,PrintUIEntry /if /b "PS Printer" /f %windir%\inf\ntprint.inf /r "FILE:" /m "Apple Color LW 12/660 PS"', nil, 0);
V3: Mit RunProcess, basierend auf CreateProcess

Was könnte ich falsch machen?
Schöne Grüße,
Mario Noack
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: Aufruf Rundll zur Druckerinstallation

  Alt 18. Mai 2005, 19:20
Vermutlich musst du dich um die Expansion der Environment-Variablen selbst kümmern, da sich sonst niemand zuständig fühlt.

Grüße vom marabu
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#3

Re: Aufruf Rundll zur Druckerinstallation

  Alt 18. Mai 2005, 19:32
Zur Expansion der Environmentvariablen enthaelt die JCL einige Funktionen.
Warum machst du es so umstaendlich? Mit LoadLibrary printui.dll laden und dann die Funktion mit GetProcAddress holen und aufrufen.
Es fehlt nur noch die Deklaration von PrintUIEntry.
  Mit Zitat antworten Zitat
Mario

Registriert seit: 7. Apr 2003
567 Beiträge
 
Delphi 2006 Enterprise
 
#4

Re: Aufruf Rundll zur Druckerinstallation

  Alt 19. Mai 2005, 06:54
Das mit der Auswertung von %windir% scheint in der Tat der Knackpunkt zu sein. Danke!

Zitat von Robert Marquardt:
Warum machst du es so umstaendlich? Mit LoadLibrary printui.dll laden und dann die Funktion mit GetProcAddress holen und aufrufen.
Es fehlt nur noch die Deklaration von PrintUIEntry.
Der Aufruf einer Kommandozeile ist doch eigentlich nicht so umständlich (wenn es funktioniert). Sonst muss ich mir zusätzlich noch den DLL-Aufruf besorgen. Ist zwar auch kein Ackt, aber die Kommandozeile ist mir im Moment sympatischer.
Schöne Grüße,
Mario Noack
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:38 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz