• ベストアンサー

2重起動の防止方法

Microsoft Visual C++6.0でアプリケーションの2重起動の防止を実現する方法を教えて下さい。

  • burbe
  • お礼率35% (78/221)

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

ではこちら。

参考URL:
http://homepage1.nifty.com/daccho/program/sdk/MSP-BC.htm
burbe
質問者

補足

度々申し訳ございません。 次の、 「 LPCSTR lpszClassName = "MSPreventionB"; LPCSTR lpszWinName = "Multiplex starting prevention Test B"; int APIENTRY WinMain(...省略) { ...省略 if(FindWindow(lpszClassName, lpszWinName)!=NULL){ /* 二重起動防止 */ MessageBox(NULL, "すでに起動しております。", "Multiplex starting prevention Test B", MB_OK); return FALSE; } ...省略 } 」 を使用していますが、FindWindowの中に入ってくれません。どうしてかわからないのですが。 lpszClassName、lpszWinNameにおいて、 lpszClassNameは、本アプリのメインクラス名を、 lpszWinNameは、アプリケーションウィンドウのタイトルをそれぞれ文字列にして定義しています。何がいけなのでしょうか。

その他の回答 (2)

  • yosi_yosi
  • ベストアンサー率35% (165/468)
回答No.3

MSDNには 指定されたクラス名とウィンドウ名を持つトップレベルウィンドウ (親を持たないウィンドウ) を探します。子ウィンドウは探しません。 とありますが、検索対象のウインドウはもちろん親ウインドウは持っていませんよね? あとは、GetLastError()でエラーを調べてみるとか...

回答No.1

下記URL参照。

参考URL:
http://homepage1.nifty.com/daccho/program/mfc/MSP-A.htm
burbe
質問者

補足

MFCは使用しておりません。 MFCを使用しない形でお願いします。 説明不足で申し訳ございません。

関連するQ&A

  • 2重起動の防止

    C++Builder5.0でアプリケーションの2重起動の防止 を実現する方法を教えて下さい。

  • vb.net2003での二重起動防止について

    度々お世話になっています。 vb.net2003でアプリケーションを作りました。 そこで二重起動防止を行いたい為に、Process.GetProcessesByName メソッドを使用して行いました。 二重起動防止は出来ているのですが、ターミナルサービスでリモートデスクトップ接続を行い、同一ユーザーの二重起動防止はしたいですが、1ユーザーでも使用していたら 別ユーザーで起動できません。 何か良い方法はありませんでしょうか? 出来れば解説しているサイトがあれば教えて下さい。

  • プログラムの二重起動防止

    プログラムの二重起動を防止したいんですが、V.B.のようにjavaにも、二重防止の関数があるのでしょうか? あるとすれば、どういったものなのでしょうか?

    • ベストアンサー
    • Java
  • スクリーンセーバーの二重起動(VC#)

    Visual C# 2005の「スクリーンセーバースタートキット」についてなんですが、このプログラムには見たところ二重起動防止のコードがないんですが、必要ないんでしょうか。だとしたらその理由はなんでしょうか。あるいはもし私が見落としているのならどこにあるのか、教えて頂けないでしょうか。

  • VB5.0 二重起動防止

    OSWin98/VB5.0を使用しています。同一のシステムの重複起動を防止したいのです。過去ログの、 http://oshiete1.goo.ne.jp/kotaeru.php3?q=644390 を参照し、 http://www.vbvbvb.com/jp/gtips/1101/gCreateToolhelp32SnapshotTh32csSnapprocess.html のサンプルを参考にし、実行中のプロセスに同一のものがあれば、複数起動と判断するようにしました。 しかし、どうしても二重起動されてしまいます。 例1)A.exeを起動、A.vbpをデバッグで実行    →二重起動を検出し、後者は起動されない 例2)A.exeを起動、A.exeを起動    →二重起動が検出されず、後者も起動されてしまう App.PrevInstanceで判断できると思うのですが、例1と同じ方法でもこの場合は、二重起動を防ぐことができません。 他によい方法がある、ここがおかしいんじゃないの?等ありましたら、教えてください。 よろしくお願いします。

  • VisualBasic2008でWordを起動する場合の二重起動防止について

    現在、VisualBasic2008を使ってWordを制御したいと勉強中の初心者です。 Wordを以下のコードを使って起動していますが、Wordが起動していない場合のみ以下のコードを実行することで二重起動を避けたいのですが、どのようなコードを記述すればよいのでしょうか。ご存知の方、教えていただけないでしょうか。 oDoc = New Microsoft.Office.Interop.Word.Application()

  • CGI二重起動防止ロック処理

    ズバリ、CGI二重起動防止ロック処理のソースをもしよかったら、だれか教えてください。

    • ベストアンサー
    • CGI
  • 二重投稿防止方法

    PHP3でメールフォームを作っています。 メールを送信後、リロード等を行うと同じメール内容が何通を送られてしまいます。 何とかして、制御したいのです。 なんか、いい二重投稿防止方法がありましたらお願いします。

    • ベストアンサー
    • PHP
  • 二重起動チェックについて

    WindowsServer2003でターミナルサービスを使ってシステムを構築しています。 一応GetProcessesByNameを使用して二重起動チェックを行っていたのですが、この場合だと他のユーザーが別のPCから同じアプリケーションを起動した際に二重起動チェックに引っかかってしまいます。 ターミナルサービス上でユーザー毎にアプリケーションの二重起動チェックは出来ないのでしょうか。 開発言語はVB.NET2003です。 よろしくお願いします。

  • VB6での二重起動(複数起動)の制御について

    Visual Basic6で (1)test.exeを起動する (2)もう1回、test.exeを起動する ここで、(1)のtest.exeを終了して(2)のtest.exeを新たに起動したいです。 二重起動の禁止の方法は色々見つかるのですが、どれも2回目に起動した方を終了してしまいます…。 よろしくお願いします。