Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Conersion char* LPCWSTR [ Divers / Débutant(e) ] (aurelbobol6)

dimanche 7 décembre 2008 à 12:44:59 | Conersion char* LPCWSTR

aurelbobol6

Bonjour,

je sais que cette question est tombée quelque fois mais je n'y arrive toujours pas !! voila je cherche à transformer un char* en LPCWSTR ? J'ai une méthode qui aura pour paramètres char* username et char* password car je veux des paramètres de types simple en entrée (pour faire du jni après). Cette méthode comportera le code suivant:

LPCWSTR username = L"UserName";       //conversion du char* en LPCWSTR
LPCWSTR password = L"password";        //conversion du char* en LPCWSTR
STARTUPINFOW si;
memset (&si, 0, sizeof(si));
si.cb = sizeof(si);
PROCESS_INFORMATION pi;
BOOL ok = CreateProcessWithLogonW (
    username,
    L".",
    password,
    LOGON_WITH_PROFILE,
    NULL,
    L"java -jar c:\\calcbox\\swing.jar",
    0,
    NULL,
    NULL,
    &si,
    &pi);

Merci d'avance pour votre aide

Aurel

dimanche 7 décembre 2008 à 13:35:20 | Re : Conersion char* LPCWSTR

vecchio56

Administrateur CodeS-SourceS
MultiByteToWideChar est fait pour ca.
Mais si tu utilises CreateProcessWithLogonA au lieu de CreateProcessWithLogonW, tu n'auras même pas besoin de WCHAR

_____________________________________
Un éditeur de ressources gratuit pour Windows


dimanche 7 décembre 2008 à 14:08:16 | Re : Conersion char* LPCWSTR
dimanche 7 décembre 2008 à 14:13:50 | Re : Conersion char* LPCWSTR

Lucky92

Désolé, je n'avais pas vu la réponse de vecchio56 !
mbstowcs est à oublier.

dimanche 7 décembre 2008 à 15:39:00 | Re : Conersion char* LPCWSTR

aurelbobol6

merci pour vos réponses.
donc je n'ai pas trouvé pour le CreateProcessWithLogonA, je me suis donc orienté vers le MultiByteToWideChar(), ce qui me donne

LPCWSTR username[10];
LPCWSTR password[10];
CHAR Susername[10] = "aurel5";
CHAR Spassword[10] = "aurel";
MultiCharToWideChar(CP_ACP, 0, Susername, -1, username, 10);
MultiCharToWideChar(CP_ACP, 0, Spassword, -1, password, 10);

STARTUPINFOW si;
memset (&si, 0, sizeof(si));
si.cb = sizeof(si);
PROCESS_INFORMATION pi;
BOOL ok = CreateProcessWithLogonW (
    username,
    L".",
    password,
    LOGON_WITH_PROFILE,
   NULL,
    L"java -jar c:\\calcbox\\swing.jar",
   0,
   NULL,
   NULL,
   &si,
   &pi);

mais voici mon erreur... (désolé je débute en c++) alors c'est pas trop évident

warning C4005: 'UNICODE' : redéfinition de macro
arguments de ligne de commande : voir la définition précédente de 'UNICODE'
error C3861: 'MultiCharToWideChar' : identificateur introuvable
error C3861: 'MultiCharToWideChar' : identificateur introuvable
error C2664: 'CreateProcessWithLogonW' : impossible de convertir le paramètre 1 de 'LPCWSTR [10]' en 'LPCWSTR'
Les types pointés n'ont aucun rapport entre eux ; conversion nécessitant reinterpret_cast, cast de style C ou cast de style fonction

avez vous des idées? merci d'avance

dimanche 7 décembre 2008 à 15:53:41 | Re : Conersion char* LPCWSTR

vecchio56

Administrateur CodeS-SourceS
Au temps pour moi, CreateProcessWithLogonW n'existe qu'en version Unicode, j'avais pas vérifié.

Dans ton code, tu te trompe dans la déclaration : le pendant de char (ou CHAR) en unicode est wchar_t ou (WCHAR). Tu dois donc écrire :
WCHAR username[10];
WCHAR password[10];

(LPCWSTR signifie en fait const WCHAR*)

_____________________________________
Un éditeur de ressources gratuit pour Windows


dimanche 7 décembre 2008 à 16:07:49 | Re : Conersion char* LPCWSTR

aurelbobol6

Réponse acceptée !
c'est bon j'ai trouvé, voila le site qui m'a aidé (il faut quand même le cité):

http://mirror.sweon.net/madchat/emags/magattack/MAGaZine.txt

j'ai du appliqué quelques modifications donc voici mon code:

char* usernameChar = "aurel5";
    WCHAR usernameWChar[256];
    LPCWSTR username = NULL;
    //Conversation en Unicode
    MultiByteToWideChar(CP_ACP, 0, usernameChar,strlen(usernameChar)+1, usernameWChar,sizeof(usernameWChar)/sizeof(usernameWChar[0]));
    //Construction de la chaine de caractere de liaison par le IPC$, on aura besoin de ca !
    username = usernameWChar;


    char* passwordChar = "aurel";
    WCHAR passwordWChar[256];
    LPCWSTR password = NULL;
    //Conversation en Unicode
    MultiByteToWideChar(CP_ACP, 0, passwordChar,strlen(passwordChar)+1, passwordWChar,sizeof(passwordWChar)/sizeof(passwordWChar[0]));
    //Construction de la chaine de caractere de liaison par le IPC$, on aura besoin de ca !
    password = passwordWChar;

   
   STARTUPINFOW si;
   memset (&si, 0, sizeof(si));
   si.cb = sizeof(si);
   PROCESS_INFORMATION pi;
  BOOL ok = CreateProcessWithLogonW (
      username,
      L".",
      password,
      LOGON_WITH_PROFILE,
      NULL,
      L"java -jar c:\\calcbox\\swing.jar",
      0,
      NULL,
      NULL,
      &si,
      &pi);

dimanche 7 décembre 2008 à 16:08:20 | Re : Conersion char* LPCWSTR

aurelbobol6

Et un grand merci a tous pour votre aide!!!

lundi 13 avril 2009 à 12:52:25 | Re : Conersion char* LPCWSTR

othmane1950

Salut tout le monde pour je sais que t'as pu réglé ton prob. Mais c'est juste pour ceux qui cherchent une solution plus facile et en c++... la voila : Il suffit juste d'ajouter le L avant la chaine de caractère exemple : LPCWSTR Nom; Nom="Zine"; Cela va donné probablement l'erreur impo de convertir du char[4] en LPCWSTR donc la solution à faire est : LPCWSTR Nom; Nom=L"Zine"; Jspr que c'est clair Salut Ro_Ot-M@n



Cette discussion est classé dans : password, char, username, conersion, lpcwstr


Répondre à ce message

Sujets en rapport avec ce message

manipulation LPCWSTR et char[] [ par ebooserge ] salut a tous,je suis en train de realiser un petit prog avec directshow et j'ai quelques diffcultées.je dois utiliser une fonction qui prend en parama Probleme dans mon prog password dans la gestion ' * ' [ par Jarod1980 ] Salut,Voila j'ai développé un programme de password qui récupère le password crypté dans un fichier et le compare au password rentré par l'utilisateur boucle [ par erwan35 ] bonjour à tous,Je demande votre indulgence face à un nouveau langage nouveau pour moi!Voici ma question: je voudrais que quand on rentre un mot de pas string dans char ?? [ par CCJ ] bonjour !! voici mon code : char password[7]; void pass() { password="";     //ligne 17 if (chiffre[1]==true) { password=strcat(password,ni[1]); }els Problème d'affectation d'un mot ds un tableau de char [ par deck_bsd ] Bonjour j'ai un petit problème d'affectation d'un mots dans un tableau de char. voici le code ou j'ai le problème . J'ai réussi à situer la faute mai string ki foire? [ par CCJ ] je sais que je soul mais bon la j'ai beau lire mes books dans tous les sens pas de reponses a mes question . mon bleme c'est que je veu concatener des Concatener ch1 et ch2. ch1 doit aller après ch2 [ par iras ] Qqun pourrait me dire où est ce ce programme de concaténation bloque. La compilation n'indique aucune erreur mais l'exécution foire#include #include # SOS manque d'inspiration [ par graall ] J'ai besoin de faire un petit programme (en mode console) qui demande à l'utilisateur de saisir le nom d'un fichier et ensuite, qui vérifie si ce fich Affichage image. [ par talaron ] Mon problème est le suivant : J'ai une librairie de traitement d'images en mode console et j'aimerais afficher une image BMP 24bits toute bete.J'ai do lister un tableau de string [ par minet03 ] Soyons bref, je suis en train de bosser sur un code qui liste les srting d'un tableau, seul problème c'est qu'il y a des problèmes !Voici mon code :vo


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version


LG KP501

Entre 9€ et 159€


Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,515 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.