文字列を返すメソッドを実装するためにマネージ C++ を使用しています。次の署名を使用して、ヘッダー ファイルでメソッドを宣言します。
String^ GetWindowText()
ただし、C# からこのメソッドを使用している場合、署名は次のとおりです。
string GetWindowTextW();
メソッド名の末尾にある余分な「W」を削除するにはどうすればよいですか?
Windows ヘッダー ファイルのプリプロセッサ ハッカーを回避するには、次のように宣言します。
#undef GetWindowText
String^ GetWindowText()
コードで実際に Win32 または MFCGetWindowText()
ルーチンを使用する場合は、マクロを再定義するか、GetWindowTextW()
.
マネージC++ではなく、.netプラットフォーム用のC ++/CLI。.Netシステムで使用するためのC++に対するMicrosoft拡張機能のセット。
BjarneStroustrupのFAQhttp ://www.research.att.com/~bs/bs_faq.html#CppCLI
C ++ /CLIはC++ではないため、そのようにタグ付けしないでください。Txs
GetWindowText は、マクロを介して C++ プロジェクトの GetWindowTextW にエイリアスされる win32 API 呼び出しです。
#undef GetWindowText を C++ プロジェクトに追加してみてください。