Defprint.exe

Bonjour



je viens de lancer defprint sur mon citrix sur une connexion administrateur

imprimante par defaut epson le logiciel s ouvre et se referme instantanement ??

quelqu un c est ce qu il ce passe

serveur 2000

ctx xpa 3 FR3 Release 3

Merci

c’est normal



defprint est la pour contourner un bug. il apparait que tu n’as pas d’imprimante par defaut. Si tu veux le tester, utilise printcfg pour demonter ton imprimante par defaut et relance defprint. La tu auras le choix.



Je n’ais pas ecris defprint pour choisir l’imprimante par defaut, mais si tu as besoin de cette option, je peux le modifier et le recompiler, pour toi

Oh oui, oh oui, :stuck_out_tongue: moi çà m’interesse de pouvoir choisir mon imprimante par défaut; je cherche le moyen de le faire sans publier le gestionnaire d’imprimantes.

Si tu peux nous faire une recompil. :wink:



Merci

ca marche

http://www.doctor-citrix.com/dload/details.php?file=8

:angel:

Vraiment trés sympa de ta part d’avoir fait cet outil.

C’est ok.



Merci beaucoup.

aucun probleme. Si tu as des besoins autre, des idees de developement pour citrix. propose :wink:

Bravo pour ce petit outil qui est à la fois simple et efficace (et gratuit!) :wink:



Juste une chose : serait-il possible d’avoir une fenetre une poil plus grande car là j’ai des noms d’imprimantes à rallonge et du coup ce n’est pas très visible ? A priori si on redimensionne la fenetre, le champ Memo qui contient la liste des imprimantes ne se redimensionne pas ?



PS: juste pour ma curiosité personelle, c’est écrit avec quel langage ?

Delphi 7, je corrige ca tout de suite.

ok c’est uploader ;D http://www.doctor-citrix.com/dload/details.php?file=8



Pour info voici le code:


unit Unit1;

interface

uses
Windows, sysutils, Variants, Forms, printers, StdCtrls, registry, ExtCtrls, Classes, Controls;

type
TForm1 = class(TForm)
ListBox1: TListBox;
Label1: TLabel;
procedure ListBox1DblClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Déclarations privées }
public
{ Déclarations publiques }
end;

var
Form1: TForm1;

implementation

uses StrUtils;

{$R *.dfm}

procedure Explode(var a: array of string; Border, S: string);
var
S2: string;
i: Integer;
begin
i := 0;
S2 := S + Border;
repeat
a := Copy(S2, 0,Pos(Border, S2) - 1);
Delete(S2, 1,Length(a + Border));
Inc(i);
until S2 = '';
end;

procedure TForm1.ListBox1DblClick(Sender: TObject);
var
reg: TRegistry;
defprint, defprintName, defprintOption: string;
A: array of String;
begin
defprintname := ListBox1.Items[ListBox1.itemindex];
reg := TRegistry.Create;
reg.RootKey := HKEY_CURRENT_USER;
reg.OpenKey('SoftwareMicrosoftWindows NTCurrentVersionPrinterPorts', True);
defprintOption := reg.ReadString(defprintname);
reg.CloseKey;
SetLength(A, 10);
Explode(A, ',', defprintOption);
defprint := defprintname +','+ A[0] +','+ A[1];
reg.OpenKey('SoftwareMicrosoftWindows NTCurrentVersionWindows', True);
reg.WriteString('Device', defprint );
reg.CloseKey;
reg.Free;
Application.Terminate;
end;

procedure TForm1.FormCreate(Sender: TObject);
var
i, j: Integer;
begin
ListBox1.Clear;
Printer.Refresh;
try
for i := 0 to Printer.Printers.Count -1 do
ListBox1.Items.Assign(printer.Printers);
except
Application.Terminate;
end;
try
j := printer.PrinterIndex;
Label1.Caption := 'Default Printer: '+ #10 + #13 + Printer.Printers.Strings[j] + #10 + #13 +'Cliquer sur une imprimante ci-dessous pour en changer.';
except
Label1.Caption := 'Erreur, vous n''avez pas d''imprimante par défault.'+ #10 + #13 +'Cliquer sur une imprimante ci-dessous pour la configurer.';
end;

end;

end.

Excellent ! C’est parfait comme ca :wink:



Merci également d’avoir ajouté le code. A l’occasion j’essaierais de faire un test (sous Delphi 6).