none
API Hook (printdialog) RRS feed

  • Question

  • Bonjour,

    Je souhaite remplacer le printdialog par défaut de windows par ma propre form de sorte que lorsque l'on clique sur "imprimer" que ce soit sur word ou sur tout autre appli ou bien lorsque l'on appuie sur le raccourci clavier [ctrl+p] ma form doit apparaître à la place du printdialog de windows...
    Après moult recherche, j'ai trouvé qu'il me fallait passer par un hook de l'api de windows... Hors moi pauvre débutant en c#, je ne sais pas du tout comment m'y prendre. J'ai compris que le principe consiste à détourner la fenêtre de dialogue pour la remplacer par la mienne mais c'est tout...

    J'ai trouvé ce petit tuto :
    lien

    Mais si j'ai bien compris, il explique seulement comment modifier la boîte de dialogue standard (normalement protégée ) par un hook et non pas de remplacer cette boîte par une autre (vous me suivez ? ^^')

    Mes questions sont donc : Est-ce possible ? (je désespère ^^') Si oui, comment ? (des indices, des liens, des refus, j'accepte tout )

    Cordialement,

    Buster

     

    EDIT : Bon en espérant que mon objectif ne soit pas une cause perdue je ré explique la situation plus clairement (enfin j'espère). Mon projet consiste à développer un logiciel de gestion de postes pour cybercafés. Il y aura donc plusieurs postes clients et un poste serveur qui gérera le tout. Jusqu'ici pas de problème. Seulement voilà, les impressions sont contrôlées et donc le poste client doit d'abord envoyer des données au serveur avant de pouvoir réaliser ses impressions. En réalité, si un utilisateur veut imprimer, le client envoi alors une requête au serveur puis le serveur y répond en lançant l'impression.

    Là où tout ce complique c'est lorsque le client veut imprimer. Dans l'application pas de problème, mais pour ce qui est de globalement ? Si l'utilisateur veut imprimer via son navigateur web ou par word, il ne faut pas que le printdialog s'ouvre du coté du client (rappelez vous, c'est le serveur qui lance l'impression) ou éventuellement lancer à la place du printdialog de windows, mon printdialog déjà tout préparé (que j'ai réalisé avec Visual Studio) Dans ce cas là, comment bloquer le printdialog (ou le remplacer par un autre) ?



    • Modifié Buster89 mardi 24 mai 2011 08:04
    mercredi 18 mai 2011 07:40

Réponses

Toutes les réponses