2009-06-16 9 views
2

Je souhaite accéder au port d'imprimante par défaut en Java.Comment obtenir le numéro de port de l'imprimante par défaut en Java

En outre, je veux savoir si l'imprimante par défaut est jet d'encre, laser, matrice de points, etc. Veuillez fournir des références.

+0

Quel système d'exploitation? –

+0

@Christopher, s'il vous plaît supprimer salutations lors de l'édition plutôt que de les rendre _bigger_: http://meta.stackexchange.com/a/3021/157556 - le reste de l'édition est une amélioration, alors j'ai l'intention de frapper le "améliorer" bouton... – sarnold

Répondre

2

Je suppose que vous utilisez Windows. Dans ce cas, vous pouvez interroger le registre Windows pour trouver le port d'imprimante par défaut. Toutes les informations système sont les préférences.

import java.util.prefs.Preferences; 

.... 

Preferences userRoot = Preferences.userRoot(); 
Preferences systemRoot = Preferences.systemRoot(); 

Il y a un bon article qui explique comment faire en utilisant pur java:

http://lenkite.blogspot.com/2008/05/access-windows-registry-using-java.html?dzref=85420

, vous devrez peut-être connaître la clé de l'imprimante par défaut dans Windows:

HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows 
1

Avez-vous réellement besoin du numéro de port? Si vous voulez imprimer depuis Java, avez-vous considéré le Java Printing APIs?

La raison pour laquelle je demande est que vous ne pouvez pas avoir une imprimante directement attachée. Vous pouvez avoir une imprimante en réseau. L'APP vous fournira une interface plus fiable pour cela.

Questions connexes