- ベストアンサー
プログラムの二重起動防止
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
Javaアプリケーションの事でいいんですよね? 二重起動防止クラスは Singletonパターンを使えば出来るんじゃないですか? その応用で出来るかと思いますが。。。
関連するQ&A
- vb.net2003での二重起動防止について
度々お世話になっています。 vb.net2003でアプリケーションを作りました。 そこで二重起動防止を行いたい為に、Process.GetProcessesByName メソッドを使用して行いました。 二重起動防止は出来ているのですが、ターミナルサービスでリモートデスクトップ接続を行い、同一ユーザーの二重起動防止はしたいですが、1ユーザーでも使用していたら 別ユーザーで起動できません。 何か良い方法はありませんでしょうか? 出来れば解説しているサイトがあれば教えて下さい。
- ベストアンサー
- Visual Basic
- VB6 二重起動確実防止について
VB6 SP5にて2重起動確実な防止処理をいれようとCreateMutex 関数を使用しようと思っています。 CreateMutex 関数を埋め込んでEXEを実行すると 実際に対象となるプログラムが起動しているにも関わらず起動してしまいます。 何がいけないのか?検討がつかず困っています。 下記がプログラムになります。 何かわかりましたらご回答の程、よろしくお願い致します。 ***Win32API**************** Option Explicit ' CreateMutex 関数 Private Declare Function CreateMutex Lib "KERNEL32.DLL" Alias "CreateMutexA" ( _ ByRef lpMutexAttributes As Long, _ ByVal bInitialOwner As Long, _ ByVal lpName As String _ ) As Long ' CloseHandle 関数 Private Declare Function CloseHandle Lib "KERNEL32.DLL" ( _ ByVal hObject As Long _ ) As Long ************************************ SUB MAIN********************************* Public Sub Main() Dim hMutex As Long hMutex = CreateMutex(ByVal 0&, 0&, App.Title) On Error GoTo Err_Main If Err.LastDllError = 0 Then Dim cForm As Form1 Set cForm = New Form1 Call cForm.Show(vbModal) End If Err_Main: If hMutex <> 0 Then Call CloseHandle(hMutex) End If End Sub ************************************************
- ベストアンサー
- その他(プログラミング・開発)
- 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
- Perl のプログラム二重起動について
Perlでの二重起動?についての疑問があるので質問いたします。 ============================ (状況) 1)Aというプログラムが存在し、そのAというプログラムはタスクスケジューラーによって10分毎に起動しています。 2)Aプログラムは全体の処理が終わるまでに通常5分の時間がかかります。処理が終わればexitで終わります。 (ちなみにAプログラムはファイル書き込みなどの排他処理が必要なフローはありません) ============================ というのをふまえ、疑問点が出てきたので質問します。 例えば、あるイレギュラーな出来事が起こり、Aプログラムの処理時間が15分に伸びてしまいました。 しかし、タスクスケジューラーは10分間隔でAプログラムを起動させます。 このとき、オーバーした5分間だけAプログラムは二重に起動することになります。 0 5 10 15 20 最初のAプログラム =============== 次のAプログラム ========== この場合、windows7上のActivePerlは、どんな動きをするのでしょうか? 予約みたいな形になり、最初のAプログラムが終わってから次のAプログラムが動くのでしょうか? それとも二重起動するのでしょうか?
- ベストアンサー
- Perl
- ディレクトリ作成&二重起動不可
1:プログラム起動時に任意のディレクトリがあるか確認してなければ、作成しあれば実行しないようにするにはどうすればいいでしょうか? 2:プログラムが起動している時の二重起動を防止する関数等はあるのでしょうか? ・起動時にテキストファイル等を作成し、PG終了時に削除するようにして起動しているかの判断をとるようなのは作成したのですが、DOS窓を×で閉じると、削除しないので困っています。 何か良い方法がありましたらよろしくお願いします。 環境 ・WindowsXP ・cygwin(コンパイルのみ)
- 締切済み
- C・C++・C#
- 【JavaScript】二重送信防止
いつもお世話になっております。 前に二重送信防止の事でご質問させていただきましたが、 新たな問題が出てきましたので、再度質問させてください。 現在、JSPで検索画面を作成しています。 検索を実行する際、検索ボタン(リンク形式)にJavaScriptにて 二重送信防止のプログラムを組み込んでいるのですが、 おかしな動きをする時があります。 検索ボタン押下での二重送信防止プログラムを起動させた場合、 真っ白な画面に遷移し、画面左上に"false"と表示される。 プログラムが悪いのでしょうか? 二重送信防止部分のコードを下記しますので、わかる方がいらっしゃいましたら、 ご教授願います。 ちなみに、検索条件入力エリアでエンターを押しても検索が可能なのですが、 エンターで二重送信防止プログラムを起動させた場合は、正常に動作し、 検索結果も返ってきます。 ------------------------------------------------------- // テキストエリアでエンターを押した際に実行 function toEnter(){ toSearch(); } sendFlag = false; function toSearch(){ if( sendFlag ) { alert( "送信済みです。" ); return false; } else { document.SearchForm.submit(); sendFlag = true; return true; } } … // 検索実行呼び出し <a href="JavaScript:toSearch();"><img src="Search.png" alt="検索"></a>
- 締切済み
- JavaScript
- タイトルバーのないアプリに二重起動防止機能を付けたい
今、タイトルバーのないアプリを作っているのですが、このアプリのウインドウを別アプリから、APIのFindWindow関数で見つけたいのですが、タイトルがないのでクラス名でしか見つけれません。同じクラスのウインドウが他にもあった場合、区別が付かず困っています。 具体的に申しますと、作ったアプリに二重起動防止機能を付けたい(すでに起動されている場合はそのアプリのウインドウを元の大きさに戻してアクティブにする)のですが、そのアプリにはタイトルバーがなく、FindWindowでは見つけれない場合があります。 このような場合どうすればいいでしょうか? よろしくお願い致します。
- ベストアンサー
- Visual Basic
お礼
そうです、アプリケーションのほうです。 初心者なものでよくわからなかったので、別の方法でやりました。 きっと、そのSingletonパターンというのはいいものなんでしょうね・・。 どうもありがとうございました。