begin process at 2010 02 10 01:17:11
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Divers

 > 

Débutant(e)

 > 

Conersion char* LPCWSTR


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Conersion char* LPCWSTR

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ée 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

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,827 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales