dポイントプレゼントキャンペーン実施中!

現在VisualStudio.NET2003でC++のプログラムからブラウザを呼び出すプログラムを作っているのですが、他の関数のところでSleep関数を使って処理を一定時間停止させたいのですが、エラーがでてうまくいきません。Sleepを使わずにインクルードからwindows.hを外せばビルドできるのですが・・・。どうしてもSleepを使わなければいけないので。

どのように解決したらよいのでしょうか?

エラーの内容は以下の通りです。
error C2039: 'MessageBoxA' : 'System::Windows::Forms' のメンバではありません。
error C3861: 'Show': 識別子は、引数依存の照合を使用しても見つかりません。
error C2653: 'MessageBoxA' : 識別子がクラス名でも名前空間名でもありません。
error C3861: 'Show': 識別子は、引数依存の照合を使用しても見つかりません。
とでます。

以下にエラーが出ている箇所のソースをのせます。

int call_browser(){
System::String * target= "http://www.microsoft.com";
try
{
System::Diagnostics::Process::Start(target);
}
catch (System::ComponentModel::Win32Exception * noBrowser)
{
if (noBrowser->ErrorCode==-2147467259)
System::Windows::Forms::MessageBox::Show(noBrowser->Message); // エラー!!
}
catch (System::Exception * other)
{
System::Windows::Forms::MessageBox::Show(other->Message); // エラー!!

}
return 0;
}

A 回答 (1件)

SleepってWIN32 APIのSleepを使おうとしているのでしょうか?



.NETでの開発なら Thread::Sleep() を使用すればいいのでは?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!