No.3ベストアンサー
- 回答日時:
C++Builder5.0は経験ないのですが。
C++Builder4.0/3.0では以下の様にすればOKでした。C++Builder5.0でも同様だと思います。winmain()の先頭でFindWindow()(WIN32API)を使用して同じクラスまたはウインドウタイトルをもつウインドウが起動されていない事を確認すればOK
FindWindow()についてはC++Builder5.0のCD-ROMにWin32日本語ヘルプがついているはずなのでそれを見ればOK
C++Builder4.0/3.0にはついていた。
参考URL:http://www.geocities.co.jp/SiliconValley-PaloAlt …
No.2
- 回答日時:
C++Builder5使用者です。
下のseataさんの方法で全く問題ありません。
もちろん起動時に調べないと防止できないのでこれはWinMainで記述します。
最後に参考になるページをあげておきます。
C++BuilderのTipsページは結構ありますよ。
参考URL:http://www.din.or.jp/~chiru/
No.1
- 回答日時:
C++Builderがどのようなものか知らないのでWin32一般的に説明します。
------------------------------------------------------------
static HANDLE hInstanceMutex = NULL;
BOOL IsExistInstanceMutex(const char* s)
{
HANDLE hPrevMutex = OpenMutex(MUTEX_ALL_ACCESS,FALSE, s);
if(hPrevMutex) {
CloseHandle(hPrevMutex);
return FALSE;
}
hInstanceMutex = CreateMutex(FALSE, 0, s);
return TRUE;
}
void ReleaseInstanceMutex()
{
if(hInstanceMutex)
ReleaseMutex(hInstanceMutex);
}
------------------------------------------------------------
起動時にIsExistInstanceMutexを呼んでTRUEが返るなら前のアプリは無し
FALSEが返る場合は、2重起動なのでメッセージを表示して終了。
アプリケーションの終了時にReleaseInstanceMutexを呼ぶ。
IsExistInstanceMutexのsにはアプリケーションを識別する名前を指定しておく。
という感じでどうでしょう?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Windows 10 Windows10環境にてWindowsUpdate後の再起動を完全に抑止する方法はございますか? 10 2023/06/16 09:57
- ドライブ・ストレージ M.2 SSDを新しく購入してコピーして使用する方法 11 2023/08/09 19:04
- 戦争・テロ・デモ 国葬反対を巻き起こし、憲法改正を阻止しようとしてますか? 6 2022/09/13 08:52
- UNIX・Linux [Linux Mint] インストールしたアプリを Mintメニューの「アプリ一覧」に表示させたい 1 2022/10/01 09:04
- FTTH・光回線 インターネットのルーターを再起動するのにブレーカーを落としました。 2 2023/06/17 20:26
- Windows 10 ctfmon.exe。スタック ベースのバッファーのオーバーランが検出されました。 1 2023/02/15 13:17
- Mac OS 【WIN10】休止やスリープをした後にネットの接続が不安定になります 3 2023/08/23 21:07
- Windows 10 WindowsUpdateで再起動を阻止したいです 3 2023/03/15 22:41
- Chrome(クローム) google chromeについて困っています。 現在パソコンのブラウザにchromeを使用している 1 2022/04/25 16:31
- その他(車) T32エクストレイル 雪で警報音がなる 2 2023/01/26 13:17
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コンソールアプリケーションの...
-
Vba アプリケーションが立ち上...
-
VBSでのSendKeysでの画面の最小化
-
イラストレーターCS4のシリアル...
-
OSによるWinExecの動...
-
フレームワーク「4.8.1」で、[S...
-
アプリは強制停止しておけば、...
-
実行時のコマンドプロンプトを...
-
パソコンの起動が遅く、おもた...
-
現在起動中のアプリケーション...
-
Console Applicationをタスクト...
-
Ctrl + P のメッセージ送信
-
別プログラムの終了監視
-
C# の OpenFileDialog
-
AccessVBA ShellExecuteAについ...
-
タスクマネージャーの表示が・・
-
pccNTmon.exeとntrtscan.exeの違い
-
アプリケーションをVBS(WSH?)で...
-
VB.NETでMessageBoxを表示した...
-
Shell関数の終了を調べる方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Vba アプリケーションが立ち上...
-
VBSでのSendKeysでの画面の最小化
-
コンソールアプリケーションの...
-
フレームワーク「4.8.1」で、[S...
-
WSH(VBScript)でアプリケーショ...
-
Accessフォームからの外部アプ...
-
VB6での二重起動(複数起動)の制...
-
イラストレーターCS4のシリアル...
-
VB.NETでMessageBoxを表示した...
-
Console Applicationをタスクト...
-
Java Web Start アプリケーショ...
-
VB.NETでフォームアクティブの...
-
C#でGUI・CUIの判断する仕方を...
-
vb6で異なるのプロジェクト間で...
-
MFCアプリケーションでの終了コ...
-
pccNTmon.exeとntrtscan.exeの違い
-
自分自身を更新するプログラム
-
excel VBAで、外部アプリケーシ...
-
vcxprojファイルの修正法???
-
実行時のコマンドプロンプトを...
おすすめ情報