'System :: String ^' à 'LPCWSTR'
Je veux convertir System::String ^
à LPCWSTR
.
pour
FindFirstFile(LPCWSTR,WIN32_FIND_DATA);
S'il vous plaît aider.
source d'informationauteur Rick2047
Vous devez vous connecter pour publier un commentaire.
Je veux convertir System::String ^
à LPCWSTR
.
pour
FindFirstFile(LPCWSTR,WIN32_FIND_DATA);
S'il vous plaît aider.
source d'informationauteur Rick2047
Vous devez vous connecter pour publier un commentaire.
La façon la plus simple de le faire en C++/CLI est d'utiliser
pin_ptr
:Pour convertir un Système::String ot LPCWSTR en C++/CLI, vous pouvez-vous utiliser le Marshal::StringToHGlobalAnsi fonction pour convertir géré chaînes non géré chaînes.
Vous devez utiliser P/Invoke. Vérifier ce lien: http://www.pinvoke.net/default.aspx/kernel32/FindFirstFile.html
Il suffit d'ajouter le
DllImport
fonction native signature:et CLR n'a réussi à type natif marshaling automatiquement.
[Modifier] je viens de réaliser que vous êtes à l'aide de C++/CLI. Dans ce cas, vous pouvez également utiliser implicite de P/Invokequi est une fonction C++ prend en charge (contrairement à C# et VB.NET). Cet article présente plusieurs exemples:
Comment: Convertir Entre les Différents Types de chaînes en C++/CLI
J'ai trouvé que
ne fonctionne pas, retour code 87. Au lieu de cela,
a travaillé comme un charme et semble être le moins détaillé de la méthode.