宜しくお願いします。
環境:
VC++.NET 2003
.NET framwork(フォームアプリケーション.NET)
現在次のように二重起動を防止していますが、二重起動時に
メッセージボックスを出したいのですが、うまくいきません。
何か方法はないでしょうか。
int APIENTRY _tWinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow)
{
System::Threading::Thread::CurrentThread->ApartmentState = System::Threading::ApartmentState::STA;
Mutex *m = new Mutex(false, "App");
if (m->WaitOne(0, false) == false)
{
// ここをMessageBoxにしたい
System::Diagnostics::Debug::WriteLine("App");
}
else
{
Application::Run(new Form1);
}
GC::KeepAlive(m);
return 0;
}
どうか宜しくお願い致します。
> メッセージボックスを出したいのですが、うまくいきません。
どう「うまく行かない」のか書いていただかないと、答えようがありません。
察するに
MessageBox::Show( なんたらかんたら );
と書いたとき、MessageBox が windows.h の中で MessageBoxA に #define されるので、
MessageBoxA::Show
と解釈されてコンパイルエラーになるんでしょうか。
main の前に
#if defined( MessageBox )
#undef MessageBox
#endif
とでも書いておいてください。
#これだから MC++ は嫌なんだ…
言葉足らずで申し訳ありませんでした。
おっしゃられるとおりです。
解決することがでました。どうもありがとうございました。
ツイート | ![]() |