2

文字列を返すメソッドを実装するためにマネージ C++ を使用しています。次の署名を使用して、ヘッダー ファイルでメソッドを宣言します。

String^ GetWindowText()

ただし、C# からこのメソッドを使用している場合、署名は次のとおりです。

string GetWindowTextW();

メソッド名の末尾にある余分な「W」を削除するにはどうすればよいですか?

4

3 に答える 3

2

Windows ヘッダー ファイルのプリプロセッサ ハッカーを回避するには、次のように宣言します。

#undef GetWindowText
String^ GetWindowText()

コードで実際に Win32 または MFCGetWindowText()ルーチンを使用する場合は、マクロを再定義するか、GetWindowTextW().

于 2008-09-19T16:20:35.620 に答える
0

マネージC++ではなく、.netプラットフォーム用のC ++/CLI。.Netシステムで使用するためのC++に対するMicrosoft拡張機能のセット。

BjarneStroustrupのFAQhttp ://www.research.att.com/~bs/bs_faq.html#CppCLI

C ++ /CLIはC++ではないため、そのようにタグ付けしないでください。Txs

于 2008-09-19T16:36:13.023 に答える
0

GetWindowText は、マクロを介して C++ プロジェクトの GetWindowTextW にエイリアスされる win32 API 呼び出しです。

#undef GetWindowText を C++ プロジェクトに追加してみてください。

于 2008-09-19T16:22:15.460 に答える