
Visual Studio2010のC++を使用しているのですが、DLLにメッセージボックスを使用したいと思っています。
.cppに
#include <windows.h>
int WINAPI WinMain(HINSTANCE hinstance, HINSTANCE hprevinstance
, LPSTR lpCmdLine, int cmdShow)
{
MessageBox(NULL,"○○○","△△△",MB_OK);
return 0;
}
上記のようなソースコードを使って見ると、○○○と△△△の部分でエラーを吐きます。
どのようにすれば改善されるか教えてください。

No.4
- 回答日時:
「Visual Studio 2010 文字セット」辺りで検索して下さい。
>MessageBox(NULL,"○○○","△△△",MB_OK);
でやるならば、「マルチ バイト文字セットを使用する」にした方がいいでしょう。
MessageBox(NULL,_T("○○○"),_T("△△△"),MB_OK);
とかであれば…よろしく処理してくれるかと。
http://msdn.microsoft.com/ja-jp/library/ey142t48 …
DLLにした場合も、文字列を扱う場合は「マルチ バイト文字セット」か「UNICODE文字セット」かを意識する必要があります。
# Win32APIだと…MessageBoxA()とMessageBoxW()みたいな関係。
この回答への補足
MessageBox(NULL,"○○○","△△△",MB_OK);
を
MessageBox(NULL,_T("○○○"),_T("△△△"),MB_OK);
に変更してみたのですが、今度は _T の部分でエラーを吐きます;
以下エラー文
C2731: 'WinMain' : 関数はオーバーロードできません。
C3861: '_T': 識別子が見つかりませんでした
No.3
- 回答日時:
プロジェクトの設定がUNICODE使用するようになっているため、MessageBoxの引数として渡す文字列がUNICODE文字列じゃないと型が不一致と判断されます。
プロジェクトの設定をマルチバイト文字にするか、文字列をUNICODEにしましょう。
UNICODE文字列リテラルは
L"あいうえお"
のように表記します。
プロジェクトの設定によりマルチバイト文字列とUNICODE文字列を自動で切り替えたい場合は、
TEXT("あいうえお")
または
_T("あいうえお")
というマクロを使用します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- C言語・C++・C# const char** p;のとき、free(p)でC4090エラーとなるのはなぜですか 3 2023/03/31 16:28
- C言語・C++・C# C++プログラミングコードにポリモーフィズムを取り入れ方を教えてください。 2 2023/06/09 11:17
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- C言語・C++・C# バイナリファイルをコピーするのにかかる時間を測りたいのですが実行するとFatel error:gli 2 2022/11/03 01:10
- Java javaでのプログラム(配列)について質問です. 2 2022/10/14 22:27
- C言語・C++・C# C言語 3 2022/10/04 15:07
- C言語・C++・C# Cのdoubleの浮動小数点表示について 3 2023/04/17 13:14
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルでアルファベットか数...
-
文字列からタブコードを取り除...
-
EXCELで=より左の文字を一括で...
-
VBAでの Replace関数で、ワイル...
-
【Excel VBA】複数ある特定の文...
-
アクセスで特定の数字以外(複...
-
C#で年月を比較する
-
LEFT関数で文字数を指定しない...
-
変数内に入った文字列の結合 UWSC
-
文字列から数式に変換する標準...
-
googleスプレッドシートでカッ...
-
エクセルVBAで特定の文字列が見...
-
ヒアドキュメントのEOLとEOMの違い
-
エクセルで文字列の最大値を抽...
-
MFCのエディットボックスについて
-
エクセルでSQLでいうところの「...
-
Excelで3E8を3.00E+8にしない方...
-
エクセルで2.01E+04表示を201E2...
-
CSV書込みの際、カンマで位置が...
-
Left関数とRight関数を合わせた...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルでアルファベットか数...
-
EXCELで=より左の文字を一括で...
-
文字列からタブコードを取り除...
-
VBAでの Replace関数で、ワイル...
-
【Excel VBA】複数ある特定の文...
-
Excelで3E8を3.00E+8にしない方...
-
エクセルで文字列をtxtファイル...
-
エクセルで文字列の最大値を抽...
-
VBA2005 16進を2桁で表示したい。
-
Excelで指数表現しないようにす...
-
エクセル 数値データを桁をそ...
-
同一セル内に関数と文字列を同...
-
Left関数とRight関数を合わせた...
-
MS SQLServer のSQLで文字列の...
-
Msgboxの×が押されたとき
-
ORCLEでの小数の表示方法の変更...
-
textboxユーザーコントロールの...
-
VBの「As String * 128」とは?
-
Pro c/c++ でホスト変数の後に....
-
変数内に入った文字列の結合 UWSC
おすすめ情報