0

txtファイルからウィンドウタイトルを読み込もうとしています

GetTitleWidnow を使用して、文字列を使用してウィンドウ タイトルを取得します

これを試しましたが、アプリケーションにメニューが表示されませんでした

   ostringstream GetTitleWidnow;
    GetTitleWidnow << "MainSvrt on port 51752";
    LPCWSTR LMainSvrtTitle;
std::string SMainSvrtTitle = GetTitleWidnow.str();
LMainSvrtTitle = (LPCWSTR)SMainSvrtTitle.c_str();


HWND hWnd = FindWindow(NULL,LMainSvrtTitle);
HMENU hCurrent = GetMenu(hWnd);
HMENU hNew = CreateMenu();
AppendMenu(hCurrent, MF_STRING | MF_POPUP, (unsigned int)hNew, TEXT("Menu"));
AppendMenu(hNew, MF_STRING, MYMENU_Reload, TEXT("Reload Config"));
AppendMenu(hNew, MF_STRING, MYMENU_Credits, TEXT("Credits"));
DrawMenuBar(hWnd); 

しかし、私がしようとすると

 HWND hWnd = FindWindow(NULL,TEXT("MainSvrt on port 51752"));

正常に動作し、アプリケーションにメニューが表示されます

4

2 に答える 2

2

ワイド文字とナロー文字を自動的に変換する Microsoft の CString を使用するか、MultiByteToWideChar関数を使用する必要があります。

于 2012-11-29T21:18:15.373 に答える
0

ATLが使えるなら、CA2W、CW2Aを試してみてください。とても使いやすいです。

于 2012-11-30T08:25:21.000 に答える