[C++] 'Problem' mit ShellExecute()

10/01/2010 15:24 scenebase#1
Huhu

Also mein hier mal ein Code abschnitt:

Code:
    char URI[100];
    DWORD destSize;

    GetPrivateProfileString("Webseite aufrufen by Rhilor","URL", "NULL", URI, destSize, "c:\\test.ini");

     ShellExecute(NULL, "open", URI, NULL, NULL, SW_SHOW);
Inhalt der ini datei:
Quote:
[Webseite aufrufen by Rhilor]
URL=http://www.google.de/
Die ausgabe in der Konsole ist: ∅bD

So wie oben geht es nicht, aber sobald ich es so mache schon:
Code:
    char URI = "http://www.google.de/";
    DWORD destSize;

    //GetPrivateProfileString("Webseite aufrufen by Rhilor","URL", "NULL", URI, destSize, "c:\\test.ini");

     ShellExecute(NULL, "open", URI, NULL, NULL, SW_SHOW);
Weiß wer woran das liegen kann?
10/01/2010 16:14 MrSm!th#2
ist dein projekt evtl auf unicode eingestellt?
10/01/2010 16:35 scenebase#3
Also ich arbeite mit Code::Blocks, ich hab jetzt nur das hier gefunden vllt hilft dir/euch das weiter:

[Only registered and activated users can see links. Click Here To Register...]
10/01/2010 17:10 MrSm!th#4
guck doch in nem tutorial oder ner anleitung oder per google, wie man code::blocks anwendet und wie man den projekttyp umstellt.
ich kenn mich damit nicht aus.

allerdings stellt code blocks glaube ich nicht automatisch auf unicode...


ah nun seh ich den fehler

Code:
DWORD destSize;
der Parameter für die size muss ja auch die größe des maximalen buffer inhalts enthalten.

also
Code:
DWORD destSize = sizeof(URI)+1;