| Code Kitchen Allgemeines Coder-Forum rund um das Programmieren eigenständiger, ausführbarer Programme. |
Diskussion: MS VC++ und Unicode im Forum Code Kitchen, in der Kategorie Software Home; Anzeige Folgendes Problem, ich nutze seit kurzem MS VC++ und verstehe das nicht ganz mit dem Unicode. Code: const char ...
![]() |
| | #1 (permalink) |
| Registriert seit: 11.01.08 ![]() Likes: 0 | Anzeige Folgendes Problem, ich nutze seit kurzem MS VC++ und verstehe das nicht ganz mit dem Unicode. Code: const char *winName = "Fenster" FindWindow (NULL,winName) Das ist wohl ein Problem mit dem Unicode, nun habe ich aber den Zeichensatz in den Projekteinstellungen auf "Multi Byte Zeichensatz" geändert. Aber jetzt funktioniert meine Funktion nicht mehr o0 Es kommt zwar kein Fehler aber es klappt nicht, hier mal der ganze Code: Code: HANDLE OpenProcess ()
{
const char *winName = "Fensername";
HANDLE winHandle = NULL;
HWND window = NULL;
DWORD procid;
while ( true )
{
window = FindWindow( NULL , winName );
if ( window == NULL ) {
Sleep ( 900 );
std::cout << "not found." << std::endl;
continue;
}
else {
break;
}
}
GetWindowThreadProcessId ( window , &procid );
winHandle = OpenProcess ( PROCESS_ALL_ACCESS , false , procid );
if (!winHandle)
{
return 0;
}
else
{
return winHandle;
}
} Ist der Unicode so richtig deaktiviert ? Ist was an dem Quellcode falsch ? |
| | |
| | #2 (permalink) |
| Registriert seit: 07.03.08 ![]() Likes: 0 | Du kannst ja die std:string objekte verwenden. Umwandeln in einen LPCSTR muss man aber trotzdem: Code: LPCSTR winName;
std:string str("Fenstername");
/* convert string to LPSTR */
winName = str.c_str(); Was allerings die sauberste Lösing ist, und ob man unbedingt auf die std zugerifen sollte oder nicht, das ist mir auch nicht klar. Habe ja gerade eine Frage in ne ähnliche Richtung gestellt: C++ Von Typenumwandlungen und LPCSTRs |
| | |
| HaBOT | - Anzeige - |
| |
| | #3 (permalink) |
| Themenstarter Registriert seit: 11.01.08 ![]() Likes: 0 | Danke erstmal, aber ist es nicht am einfachsten den Unicode zu deaktivieren ? In anderen IDE's habe ich damit keine Probleme :/ Das ganze mit den LPCSTR etc. verwirrt mich sowieso nur :x |
| | |
| | #4 (permalink) |
| Registriert seit: 30.06.08 ![]() Likes: 0 | Unicode würde ich beibehalten, das ist ein guter Zeichensatz. |
| | |
| | #5 (permalink) |
| Sehe ich auch so. Unicode sollte man im Hinblick auf die Zukunft schon behalten. Du kannst anstatt Code: const char* blablubb = "hui"; Code: const wchar_t* blablubb = "hui"; Code: const TCHAR* blablubb = "hui"; Gruß, Machine | |
| | |
| | #6 (permalink) |
| Registriert seit: 24.12.08 ![]() Likes: 2 | Eiin #undef UNICODE am Anfang hilft, obwohl nicht die "ideale" Lösung mfg |
| | |
| | #7 (permalink) |
| Themenstarter Registriert seit: 11.01.08 ![]() Likes: 0 | um Code: const TCHAR* blablubb = "hui"; Code: #define _UNICODE |
| | |
| | #8 (permalink) |
| Registriert seit: 24.12.08 ![]() Likes: 2 | hi Um das nutzen zu können, brauchst du eigentlich keine Präprozessor Diirektive, sondern musst einfach ein 'L' vor den string setzen. Hier ein kleines bsp, das ich vorhin mit VC++ 9.0 Express Edition gestestet habe. Code: #include <windows.h>
#include <stdio.h>
int main()
{
const TCHAR* blablubb = L"Unbenannt - Editor";
return((int)FindWindow(NULL,blablubb));
} mfg |
| | |
![]() |
| - Anzeige - | |
| |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| C++ und Unicode | Nimda05 | Code Kitchen | 3 | 21.04.09 19:58 |
| Sonderzeichen in Unicode | Gottzilla | Applikationen | 0 | 25.08.06 11:55 |
| Md5Sum in Unicode | pLaYbOy | Code Kitchen | 4 | 30.01.05 15:54 |
| IIs und Unicode Bug | dark faro | (In)security allgemein | 5 | 29.07.03 20:16 |
| Der Unicode Bug | ToXiC Blue | Code Kitchen | 4 | 01.12.02 01:34 |