Développeur de logiciels Brother Windows DLL

Droits d'auteur
©2020 Brother Industries, Ltd. Tous droits réservés. Les informations contenues dans ce document sont susceptibles d'être modifiées sans préavis. Le logiciel décrit dans ce document est fourni sous un contrat de licence. Le logiciel ne peut être utilisé ou copié que conformément aux termes de ces accords. Aucune partie de cette publication ne peut être reproduite sous quelque forme ou par quelque moyen que ce soit sans l'autorisation écrite préalable de Brother Industries, Ltd.
Marques déposées
Brother est soit une marque commerciale, soit une marque déposée de Brother Industries, Ltd.
Tous les noms commerciaux et noms de produits de sociétés apparaissant sur les produits Brother, les documents connexes et tout autre matériel sont des marques commerciales ou des marques déposées de ces sociétés respectives.
Remarque importante
Ce document fournit des informations sur l'imprimante d'étiquettes (voir 4.1 Imprimantes prises en charge) et n'est disponible que si vous acceptez les conditions suivantes :
Aucune garantie
a. Le contenu de ce document est sujet à changement sans préavis.
b. En ce qui concerne ce document, Brother ne garantit pas qu'il n'y a pas de défauts ou si l'objectif correspond à l'objectif spécifique, qu'il soit explicite ou implicite.
c. Brother n'assume aucune responsabilité pour les dommages, actions de tiers, utilisation intentionnelle ou négligente de l'utilisateur, mauvaise utilisation ou utilisation dans d'autres conditions particulières.
Coordonnées
Pour plus d’informations destinées aux développeurs d’imprimantes mobiles, visitez
https://support.brother.com/g/s/es/dev/en/index.html?navi=offall
Guide
Impression d'une étiquette
- Example:

Impression à l'aide des commandes de l'imprimante
Pour envoyer des commandes d'imprimante (Example : FBPL, ZPL), utilisez le sendcommand fonctions
- Example:

Impression à l'aide d'un modèle FBPL
- Créez un modèle à l'aide des commandes FBPL (.BAS).
- Transférez le modèle vers la mémoire FLASH de l'imprimante à l'aide du BPM (Brother Printer Management Tool).
- Appelez le modèle et insérez le texte souhaité à l'aide du
sendcommandfonctions.
- Example:

Impression d'une image
Pour rappeler et imprimer une image PCX/BMP (Ex.ample: logo), téléchargez le file à la mémoire FLASH de l'imprimante, à l'aide du downloadpcx les fonctions. Appelez ensuite l'image en envoyant les commandes FBPL. Pour plus d'informations sur les commandes FBPL, consultez la commande PUTPCX ou PUTBMP dans la référence des commandes FBPL.
- Pour l'impression bitmap, téléchargez un graphique BMP 1 bit (monochrome) ou 8 bits (256 couleurs). file seulement.
- Imprimez l'image téléchargée en monochrome ou en niveaux de gris à l'aide du PUTPCX or PUTBMP commande. Le mode thermique direct prend en charge à la fois l’impression monochrome et l’impression en niveaux de gris. Le mode transfert thermique prend en charge uniquement l'impression monochrome

Encoder une RFID Tag
Pour encoder la RFID tags, utilisez le rfidWrite fonction.
- Example:
- Imprimantes prises en charge:
- TD-4650TNWBR
- TD-4750TNWBR
- TJ-4021TNR
- TJ-4121TNR

API
port ouvert
Démarrez le spool d'imprimante Windows.
Déclaration
int openport (String port);
Paramètres
| Paramètre | Taper | Requis | Description |
| port | chaîne | Oui | 1) Nom du pilote d'imprimante pour l'imprimante locale (Example: Brother TD-4420TN) |
2) Chemin UNC et nom d'imprimante pour une imprimante réseau (Example: ”\\server\TD-4420TN”) |
|||
3) LPT1 à LPT4 pour interface Centronics (Example: ”LPT1”) |
|||
4) Interface USB (par exempleample: ”USB”) |
Valeur de retour
entier; 1 si succès, sinon 0.
port réseau ouvert
Démarrez le spool d'imprimante Windows en désignant l'adresse IP.
Déclaration
int opennetport (String IP address, int printer port);
Paramètre
| Paramètre | Taper | Requis | Description |
| Adresse IP | chaîne | Oui | Adresse IP de l'imprimante (Ex.ample: ”192.168.0.1”) |
| Port d'imprimante | entier | Oui | Port de connexion d'imprimante (Example:9100) |
Valeur retournée
entier; 1 si succès, sinon 0
port proche
Fermez le spool d'imprimante Windows.
Déclaration
int closepor ();
Paramètres
Aucun
Valeur de retour
entier; 1 si succès, sinon 0.
installation
Configurer les paramètres de l'imprimante
Déclaration
int setup (String width, String height, String speed, String density, String sensorType, String gap, String distance);
Paramètres
| Paramètre | Taper | Requis | Description |
|
chaîne | Oui | Largeur de l'étiquette (mm) |
|
chaîne | Oui | Hauteur de l'étiquette (mm) |
|
chaîne | Oui | Vitesse d'impression (pouces/seconde)1 / 1.5 / 2 / 3 / 4 / 6 / 8 / 10 / 12 / 13 / 14Pour plus d'informations sur les paramètres de vitesse d'impression disponibles, voir la commande SPEED dans la référence de la commande FBPL. |
|
chaîne | Oui | Densité d'impression0-15: 0 Le plus léger, 15 Le plus sombre |
|
chaîne | Oui | Type de capteur de média0: Capteur d'écart, 1: Capteur de marque noire |
|
chaîne | Oui | Distance d'écart entre deux étiquettes ou hauteur de la marque noire (mm) |
|
chaîne | Oui | Décalez la distance de l'écart/marque noire (mm); Définissez ce paramètre sur 0 lorsque vous utilisez le type d’étiquette normal. |
Valeur de retour
entier; 1 si succès, sinon 0.
Pour définir le type de papier sur papier continu, spécifiez 0 pour les paramètres sensor Type, écart, et distance.
effacer le tampon
Effacer le tampon
Déclaration
int clearbuffer();
Paramètres
Aucun
Valeur de retour
entier; 1 si succès, sinon 0.
code à barres
Utiliser les formats de codes-barres intégrés
Déclaration
int barcode(String xDir, String yDir, String barcode, String height, String interpretation, String rotation, String narrowRatio, String wideRatio, String content);
Paramètres
| Paramètre | Taper | Requis | Description |
xDir |
chaîne | Oui | Point de départ du code-barres dans la direction X (points) (203 dpi : 1 mm=8 points, 300 dpi : 1 mm=12 points, 600 dpi : 1 mm=24 points) |
yDir |
chaîne | Oui | Point de départ du code-barres dans la direction Y (points) (203 dpi : 1 mm=8 points, 300 dpi : 1 mm=12 points, 600 dpi : 1 mm=24 points) |
barcode |
chaîne | Oui | Type de code à barres Pour plus d'informations, consultez le Type de code à barres section. |
height |
chaîne | Oui | Hauteur du code-barres (points) |
interpretation |
chaîne | Oui | Interprétation humaine reconnaissable (texte) 0 : Non lisible, 1 : Lisible par l'homme |
rotation |
chaîne | Oui | Degrés de rotation0 : Pas de rotation90 : Rotation de 90 degrés dans le sens des aiguilles d'une montre180 : Rotation de 180 degrés dans le sens des aiguilles d'une montre270 : Rotation de 270 degrés dans le sens des aiguilles d'une montre |
|
chaîne | Oui | Rapport de barre étroit Pour plus d'informations sur le ratio, consultez le CODE À BARRE dans la commande Référence des commandes FBPL. |
wideRatio |
chaîne | Oui | Rapport de barre large Pour plus d'informations sur le ratio, consultez le CODE À BARRE dans la commande Référence des commandes FBPL. |
content |
chaîne | Oui | Contenu du code-barres |
Valeur de retour
entier; 1 si succès, sinon 0.
Type de code à barres
Sélectionnez le barcode tapez dans la liste.
| Type de code à barres | Description | |
128 |
Code 128, changement automatique de sous-ensemble de codes | |
128M |
Code 128, changement de sous-ensemble de code manuellement | |
EAN128 |
EAN-128, sous-ensemble de codes de commutation
automatiquement |
|
EAN128M |
EAN-128M (GS1-128), sous-ensemble de code de commutation manuel | |
25 |
Entrelacé 2 sur 5 | |
25C |
2 sur 5 entrelacés avec chiffre de contrôle | |
25S |
Norme 2 sur 5 | |
25I |
Industriel 2 sur 5 | |
39 |
Code 39, commutation automatique du mode standard et du mode ASCII complet | |
39C |
Code 39 avec chiffre de contrôle | |
93 |
Code 93 | |
EAN13 |
EAN-13 | |
EAN13+2 |
EAN-13 avec complément à 2 chiffres | |
EAN13+5 |
EAN-13 avec complément à 5 chiffres | |
EAN8 |
EAN-8 | |
EAN8+2 |
EAN-8 avec complément à 2 chiffres | |
EAN8+5 |
EAN-8 avec complément à 5 chiffres | |
CODA |
Codabar (NW-7) | |
POST |
POSTNET | |
LOGMARS |
Une utilisation particulière du Code 39 | |
UPCA |
UPC-A | |
UPCA+2 |
UPC-A avec complément à 2 chiffres | |
UPA+5 |
UPC-A avec complément à 5 chiffres | |
UPCE |
Code UPC-E | |
UPCE+2 |
UPC-E avec complément à 2 chiffres | |
UPE+5 |
UPC-E avec complément à 5 chiffres | |
MSI |
MSI | |
MSIC |
MSI avec chiffre de contrôle | |
PLESSEY |
Plessey | |
CPOST |
Datalogic 2 sur 5 (poste chinois) | |
ITF14 |
ITF-14 | |
EAN14 |
EAN-14 | |
11 |
Code 11 (USD-8) | |
TELEPEN |
Télépen | |
TELEPENN |
Numéro de télépen | |
PLANET |
Planète | |
CODE49 |
Code 49 | |
DPI |
Code d'identification de la Deutsche Post | |
DPL |
Leitcode de la Deutsche Post | |
Pour imprimer d'autres codes-barres, envoyez des commandes FBPL à l'aide du sendcommanfonction d.
Example: sendcommand("QRCODE 10,10,H,4,A,0,\"ABCabc123\"\r\n")
police d'imprimante
Définissez un objet texte dans les polices intégrées.
Déclaration
int printerfont(StringxDir,StringyDir,StringfontType,Stringrotation,StringxRate,StringyRate,Stringcontent);
Paramètres
| Paramètre | Taper | Requis | Description |
| xDir | chaîne | Oui | Point de départ du texte (chaîne de caractères) dans la direction X (points) (203 dpi : 1 mm=8 points, 300 dpi : 1 mm=12 points, 600 dpi : 1 mm=24 points) |
| yDir | chaîne | Oui | Point de départ du texte (chaîne de caractères) dans la direction Y (points) (203 dpi : 1 mm=8 points, 300 dpi : 1 mm=12 points, 600 dpi : 1 mm=24 points) |
| Type de police | chaîne | Oui | Nom du type de police
Assurez-vous que le file le nom est en lettres majuscules (Example: |
| rotation | chaîne | Oui | Degré de rotation du texte0 : Pas de rotation90 : Rotation de 90 degrés dans le sens des aiguilles d'une montre180 : Rotation de 180 degrés dans le sens des aiguilles d'une montre270 : Rotation de 270 degrés dans le sens des aiguilles d'une montre |
| tauxx | chaîne | Oui | Grossissement de la hauteur des caractères (plage : 1-8) |
| yTaux | chaîne | Oui | Grossissement de la largeur des caractères (plage : 1-8) |
| contenu | chaîne | Oui | Caractères à imprimer |
Valeur de retour
entier; 1 si succès, sinon 0.
Pour utiliser les polices intégrées, sélectionnez le type de police dans la liste.
| Nom de la police | Description |
| 0 | Police évolutive Monotype CG Triumvirate Bold Condensed |
1 |
Police à points à pas fixe 8 x 12 |
2 |
Police à points à pas fixe 12 x 20 |
3 |
Police à points à pas fixe 16 x 24 |
4 |
Police à points à pas fixe 24 x 32 |
5 |
Police à pas fixe de 32 x 48 points |
6 |
Police à pas fixe de 14 x 19 points OCR-B |
7 |
Police à pas fixe de 21 x 27 points OCR-B |
8 |
Police à pas fixe de 14 x 25 points OCR-A |
ROMAN.TTF |
Monotype CG Triumvirate Bold Condensé, proportion de largeur et de hauteur de police fixe |
1.EFT |
Police EPL2 1 |
2.EFT |
Police EPL2 2 |
3.EFT |
Police EPL2 3 |
4.EFT |
Police EPL2 4 |
5.EFT |
Police EPL2 5 |
A.FNT |
Police ZPL2 A |
B.FNT |
Police ZPL2 B |
D.FNT |
Police ZPL2 D |
E8.FNT |
Police ZPL2 E8 |
F.FNT |
Police ZPL2 F |
G.FNT |
Police ZPL2 G |
H8.FNT |
Police ZPL2 H8 |
GS.FNT |
Police ZPL2 GS |
Pour utiliser les polices téléchargées, téléchargez vos polices sur l'imprimante à l'aide de Brother Printe Management Tool (BPM) :
- Exécutez le BPM.
- Cliquez sur le File Directeur.
- Sélectionnez le file tapez dans la liste déroulante, puis cliquez sur Parcourir pour sélectionner la police file.
- Sélectionnez FLASH dans le Périphérique de mémoire liste déroulante.
- Cliquez Télécharger pour commencer à télécharger le file.
Assurez-vous que le file le nom est en lettres majuscules. (Example : ipaexg.ttf → IPAEXG.TTF)
- Le BPM est un outil Windows et il ne prend pas en charge la connexion Bluetooth®. Lorsque vous utilisez le BPM, connectez l'imprimante à votre ordinateur via USB ou Wi-Fi®.
Si le paramètre de codage de l'imprimante et le codage des données d'impression ne correspondent pas, des erreurs de qualité d'impression, telles que des caractères tronqués ou du texte manquant, se produiront. Si la police n'est pas compatible avec l'encodage, modifiez l'encodage ou la police sélectionnée. Pour modifier le paramètre d'encodage de l'imprimante, consultez le PAGE DE CODES dans la référence des commandes FBPL.
envoyer une commande
Envoyez une commande à l'imprimante.
Déclaration
intsendcommand(Stringcommand);
Paramètres
| Paramètre | Taper | Requis | Description |
| commande | chaîne | Oui | Commandes intégrées (Example : commandes FBPL)
Pour plus d'informations sur les commandes FBPL, consultez le Référence des commandes FBPL. |
Example: sendcommand(“PRINT 1\r\n”) sendcommand(“CLS\r\nPRINT\r\n”)
Valeur de retour
entier; 1 si succès, sinon 0.
Vous pouvez envoyer des commandes non FBPL prises en charge par le micrologiciel de votre imprimante. Lors d'un envoi non-FBPL
commandes avec sendcommand, utilisez cette API uniquement avec openport et closeport.
Imprimer l'étiquette
Imprimez une étiquette.
Déclaration
intprintlabel(Stringset,Stringcopy);
Paramètres
| Paramètre | Taper | Requis | Description |
| ensemble | chaîne | Oui | Nombre de jeux d'étiquettes |
| copie | chaîne | Oui | Nombre de copies d'étiquettes |
Valeur de retour
entier; 1 si succès, sinon 0
télécharger pcx
Téléchargez un graphique PCX/BMP monochrome file à l'imprimante.
Déclaration
intdownloadpcx(StringfileName,Stringname);
Paramètres
| Paramètre | Taper | Requis | Description |
| file Nom | chaîne | Oui | File nom (y compris file chemin de récupération) |
| nom | chaîne | Oui | File nom (le nom du file téléchargé sur FLASH) Assurez-vous que le file le nom est en majuscules (FILENAME.PCX, FILENAME.BMP) |
Valeur de retour
entier; 1 si succès, sinon 0
Pour plus d'informations, voir 1.4 Impression d'une image.
flux de formulaire
Passer à la page suivante d'une étiquette. Assurez-vous de définir cette fonction après avoir appelé la fonction de configuration.
Déclaration
int formfeed();
Paramètres
Aucun
Valeur de retour
entier; 1 si succès, sinon 0.
pas de retour en arrière
Désactiver la fonction backfeed
Déclaration
int nobackfeed();
Paramètres
Aucun
Valeur de retour
entier; 1 si succès, sinon 0.
police Windows
Définissez un objet texte à l'aide des polices Windows.
Déclaration
int windows font(int xDir, int yDir, int height, int rotation, int font Style, int underline, String fileType, String text);
Paramètres
| Paramètre | Taper | Requis | Description |
xDir |
entier | Oui | Point de départ du texte (chaîne de caractères) dans la direction X (points) (203 dpi : 1 mm=8 points, 300 dpi : 1 mm=12 points, 600 dpi : 1 mm=24 points) |
yDir |
entier | Oui | Point de départ du texte (chaîne de caractères) dans la direction Y (points) (203 dpi : 1 mm=8 points, 300 dpi : 1 mm=12 points, 600 dpi : 1 mm=24 points) |
height |
entier | Oui | Hauteur de la police (points) |
rotation |
entier | Oui | Degré de rotation du texte0 : Pas de rotation90 : Rotation de 90 degrés dans le sens des aiguilles d'une montre180 : Rotation de 180 degrés dans le sens des aiguilles d'une montre270 : Rotation de 270 degrés dans le sens des aiguilles d'une montre |
fontStyle |
entier | Oui | Style de police0 : Normale1 : Italique2 : Audacieux3 : Gras et italique |
underline |
entier | Oui | Police avec soulignement0 : sans souligner1 : avec soulignement |
fileType |
entier | Oui | Nom de la police |
text |
entier | Oui | Caractères à imprimer |
Valeur de retour
entier; 1 si succès, sinon 0.
à propos
Affichez la version de la DLL à l'écran.
Déclaration
voidabout();
Paramètres
Aucun
Valeur de retour
entier; 1 si succès
rfid écriture
Écrire des données sur la RFID tag.
Déclaration
intrfidWrite(Stringlock,Stringformat,StringblockNumber,StringdataSize,StringmemoryBank,String data);
Paramètres
| Paramètre | Taper | Requis | Description |
lock |
chaîne | Oui | Paramètre facultatif pour verrouiller les données afin d'éviter qu'elles ne soient écrasées0 : Écrire sans verrouiller1 à FFFFFFFF en hexadécimal : Écrire et verrouiller le bloc de données |
format |
chaîne | Oui | Format des données de terrainA = ASCIIH = Hex |
block Number |
chaîne | Oui | Spécifie 0 |
data Size |
chaîne | Oui | Écrire la taille des données de 1 à n en nombres décimaux |
memory Bank |
chaîne | Oui | Banque de mémoireEPC – Zone EPC (Jusqu’à 496 bits)USR – Zone utilisateur (Jusqu’à 8 kilobits)ACS – Zone de code d’accèsKIL – Tuer la zone de codePC – Zone de code PC |
data |
chaîne | Oui | Contenu de la chaîne de données |
Valeur de retour
entier; 1 si succès, sinon 0

- Imprimantes prises en charge : TD-4650TNWBR, TD-4750TNWBR, TJ-4021TNR et TJ-4121TNR.
- Assurez-vous d'utiliser la version correcte du micrologiciel pour définir les bits du PC.
| Mode | Version du firmware |
| TD-4650TNWBR / TD-4750TNWBR | V1.04.S21 ou version ultérieure |
| TJ-4021TNR/TJ-4121TNR | B2.12.S27 ou version ultérieure |
rfid Lire
Lire les données de la RFID tag et renvoie les données après l'appel de la fonction d'impression d'étiquette.
Déclaration
intrfidRead(Stringunlock,Stringformat,StringblockNumber,StringdataSize,StringmemoryBank);
Paramètres
| Paramètre | Taper | Requis | Description |
ouvrir |
chaîne | Oui | Paramètre facultatif pour déverrouiller les données afin qu'elles puissent être écrasées ultérieurement 0 : Lire sans déverrouiller 1 à FFFFFFFF en hexadécimal : Lire et déverrouiller le bloc de données |
format |
chaîne | Oui | Format des données de terrain A = ASCII H = Hex |
numéro de bloc |
chaîne | Oui | Spécifie 0 |
Taille des données |
chaîne | Oui | Lire la taille des données de 1 à n en nombres décimaux |
Banque de mémoire |
chaîne | Oui | Banque de mémoire EPC – Zone EPC (jusqu’à 496 bits) JOUR – Tag zone d'identification USR – Zone utilisateur (jusqu'à 8 kilobits) ACS – Zone de code d’accès KIL – Zone de code de mise à mort PC – Zone de code PC |
Valeur de retour
entier; 1 si succès, sinon 0.
Imprimantes prises en charge : TD-4650TNWBR, TD-4750TNWBR, TJ-4021TNR et TJ-4121TNR.
rfid Obtenir des données lues
Renvoyez le reçu tag données spécifiées par le rfidRead fonction. Assurez-vous de définir cette commande immédiatement après avoir appelé le print label fonction.
Déclaration
stringrfidGetReadData()
Paramètres
Aucun
Valeur de retour
chaîne; tag données.
Imprimantes prises en charge : TD-4650TNWBR, TD-4750TNWBR, TJ-4021TNR et TJ-4121TNR
imprimante de requête de port USB
Renvoie l'état de l'imprimante (port USB uniquement).
Pour plus d'informations, consultez le !? dans la référence des commandes FBPL.
Déclaration
stringusbportqueryprinter();
Paramètres
Aucun
Valeur de retour
chaîne; -1 en cas d'échec, sinon un code d'état est renvoyé.
| Code d'état (HEX) | État de l'imprimante |
| 00 | Normale |
| 01 | Tête ouverte |
| 02 | Bourrage de papier |
| 03 | Bourrage papier et tête ouverte |
| 04 | À court de papier |
| 05 | Plus de papier et tête ouverte |
| 08 | Plus de ruban |
| 09 | En rupture de ruban et tête ouverte |
| 0A | Plus de ruban et bourrage papier |
| 0B | Plus de ruban, bourrage papier et tête ouverte |
| 0C | À court de ruban et à court de papier |
| 0D | À court de ruban, à court de papier et tête ouverte |
| 10 | Pause |
| 20 | Impression |
| 80 | Autre erreur |
imprimante de requêtes réseau
Renvoyer l'état de l'imprimante (LAN filaire ou LAN sans fil uniquement)
Pour plus d'informations, consultez le !? dans la référence des commandes FBPL.
Déclaration
string netportqueryprinter();
Paramètres
Aucun
Valeur de retour
chaîne; -1 en cas d'échec, sinon un code d'état est renvoyé.
| Code d'état (HEX) | État de l'imprimante |
| 00 | Normale |
| 01 | Tête ouverte |
| 02 | Bourrage de papier |
| 03 | Bourrage papier et tête ouverte |
| 04 | À court de papier |
| 05 | Plus de papier et tête ouverte |
| 08 | Plus de ruban |
| 09 | En rupture de ruban et tête ouverte |
| 0A | Plus de ruban et bourrage papier |
| 0B | Plus de ruban, bourrage papier et tête ouverte |
| 0C | À court de ruban et à court de papier |
| 0D | À court de ruban, à court de papier et tête ouverte |
| 10 | Pause |
| 20 | Impression |
| 80 | Autre erreur |
Sample code
Example (1)
BROLIB_DLL.openport("Brother TD-4750TN");
BROLIB_DLL.setup("100", "63.5", "4", "8", "0", "0", "0");
BROLIB_DLL.clearbuffer();
BROLIB_DLL.barcode("100", "100", "128", "100", "1", "0", "2", "2", "Barcode Test");
BROLIB_DLL.printerfont("100", "250", "3", "0", "1", "1", "Print Font Test");
BROLIB_DLL.windowsfont(100, 300, 24, 0, 0, 0, "ARIAL", "Windows Arial Font Test");
BROLIB_DLL.downloadpcx("UL.PCX", "UL.PCX");
BROLIB_DLL.sendcommand("PUTPCX 100,400,\"UL.PCX\"");
BROLIB_DLL.printlabel("1", "1");
BROLIB_DLL.closeport();
Example (2)
BROLIB_DLL.openport("Brother TD-4750TN");
BROLIB_DLL.clearbuffer();
BROLIB_DLL.rfidWrite("0", "H", "0", "12", "EPC", "123456789012");
BROLIB_DLL.rfidRead("0", "H", "0", "12", "EPC");
BROLIB_DLL.printlabel("1", "1");
label2.Text = BROLIB_DLL.rfidGetReadData();
BROLIB_DLL.closeport();
À propos
Imprimantes prises en charge
Notes de mise à jour


Documents / Ressources
![]() |
Développeur de logiciels Brother Windows DLL [pdf] Guide de l'utilisateur Développeur de logiciels DLL Windows, Développeur de logiciels DLL, Développeur de logiciels, Développeur |




