Le forum (ô combien francophone) des utilisateurs de Powerbuilder.





Bonjour,
J’ai voulu déterminer le nom de l’utilisateur et le nom de la machine en utilisant un code power script
Alors j’ai ajouté deux fonction externes
FUNCTION long GetComputerNameA (ref string ComputerName, ref ulong BufferLength) LIBRARY "KERNEL32.DLL" FUNCTION long GetUserNameA(ref string UserName, ref ulong BufferLength) LIBRARY "ADVAPI32.DLL"
Mais le système m’a retourné deux valeurs non lisibles
Dernière modification par infopower (08-02-2012 19:04:36)
Hors ligne






Bonjour,
Pour les versions de Powerbuilder supérieures à la 9, Powerbuilder utilise l'unicode. Si tu utilises des fonctions ANSI de l'API, tu dois le préciser :
FUNCTION long GetComputerNameA (ref string ComputerName, ref ulong BufferLength) LIBRARY "KERNEL32.DLL" ALIAS for "GetComputerNameA;Ansi" FUNCTION long GetUserNameA(ref string UserName, ref ulong BufferLength) LIBRARY "ADVAPI32.DLL" ALIAS for "GetUserNameA;Ansi"
Hors ligne
Zut, buck m'a devancé dans la réponse
Sinon, le nom de la machine contient des caractères non occidentaux ? (arabe, chinois, ...) ? il pourraît être intéressant d'essayer avec la version unicode de ces fonctions : GetComputerNameW et GetUserNameW (mais sans ajouter "ansi" dans l'alias)

Hors ligne





SLT merci bq buck
Hors ligne