- ベストアンサー
2重起動の防止方法
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
ではこちら。
その他の回答 (2)
- yosi_yosi
- ベストアンサー率35% (165/468)
MSDNには 指定されたクラス名とウィンドウ名を持つトップレベルウィンドウ (親を持たないウィンドウ) を探します。子ウィンドウは探しません。 とありますが、検索対象のウインドウはもちろん親ウインドウは持っていませんよね? あとは、GetLastError()でエラーを調べてみるとか...
- επιστημη(@episteme)
- ベストアンサー率46% (546/1184)
下記URL参照。
補足
MFCは使用しておりません。 MFCを使用しない形でお願いします。 説明不足で申し訳ございません。
関連するQ&A
- vb.net2003での二重起動防止について
度々お世話になっています。 vb.net2003でアプリケーションを作りました。 そこで二重起動防止を行いたい為に、Process.GetProcessesByName メソッドを使用して行いました。 二重起動防止は出来ているのですが、ターミナルサービスでリモートデスクトップ接続を行い、同一ユーザーの二重起動防止はしたいですが、1ユーザーでも使用していたら 別ユーザーで起動できません。 何か良い方法はありませんでしょうか? 出来れば解説しているサイトがあれば教えて下さい。
- ベストアンサー
- Visual Basic
- プログラムの二重起動防止
プログラムの二重起動を防止したいんですが、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と同じ方法でもこの場合は、二重起動を防ぐことができません。 他によい方法がある、ここがおかしいんじゃないの?等ありましたら、教えてください。 よろしくお願いします。
- ベストアンサー
- Visual Basic
- VisualBasic2008でWordを起動する場合の二重起動防止について
現在、VisualBasic2008を使ってWordを制御したいと勉強中の初心者です。 Wordを以下のコードを使って起動していますが、Wordが起動していない場合のみ以下のコードを実行することで二重起動を避けたいのですが、どのようなコードを記述すればよいのでしょうか。ご存知の方、教えていただけないでしょうか。 oDoc = New Microsoft.Office.Interop.Word.Application()
- 締切済み
- Visual Basic
- 二重起動チェックについて
WindowsServer2003でターミナルサービスを使ってシステムを構築しています。 一応GetProcessesByNameを使用して二重起動チェックを行っていたのですが、この場合だと他のユーザーが別のPCから同じアプリケーションを起動した際に二重起動チェックに引っかかってしまいます。 ターミナルサービス上でユーザー毎にアプリケーションの二重起動チェックは出来ないのでしょうか。 開発言語はVB.NET2003です。 よろしくお願いします。
- ベストアンサー
- Visual Basic
- VB6での二重起動(複数起動)の制御について
Visual Basic6で (1)test.exeを起動する (2)もう1回、test.exeを起動する ここで、(1)のtest.exeを終了して(2)のtest.exeを新たに起動したいです。 二重起動の禁止の方法は色々見つかるのですが、どれも2回目に起動した方を終了してしまいます…。 よろしくお願いします。
- 締切済み
- Visual Basic
補足
度々申し訳ございません。 次の、 「 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は、アプリケーションウィンドウのタイトルをそれぞれ文字列にして定義しています。何がいけなのでしょうか。