デフォルトプリンター

解決


ガオ〜  2009-07-09 00:41:18  No: 35071

Delphi 2007
Windows Vista SP1
の環境で
デフォルトプリンタを変更したいのですが
どのようにすればいいのでしょうか?


たぬ吉  2009-07-09 18:24:15  No: 35072

これでできましたが、XPでしか確認してません。
Vista環境がないので。。。

procedure ChangeDefaultPrinter;
var
  DevMode: THandle;
  Device,Driver,Port: array[0..79] of Char;
  s: String;
begin
  Printer.PrinterIndex := 0;   //変更したいプリンタのインデックス(Printer.Printersのインデックス)
  Printer.GetPrinter(Device,Driver,Port,DevMode);
  s := StrPas(Device) + ',' + StrPas(Driver) + ',' + StrPas(Port);
  WriteProfileString('windows','device',PChar(s));
  SendMessage(HWND_BROADCAST,WM_WININICHANGE,0,Longint(PChar('windows')));
end;

usesにPrintersを追加してください。

Delphi2009


ガオ〜  2009-07-09 22:39:02  No: 35073

たぬ吉さん、早速のご回答ありがとうございます。
試したところVista環境でも変更できました。
今後ともよろしくお願い致します。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加