1. 程式人生 > >單例項程式(使用者點選另一個的時候,再次顯示該程式)

單例項程式(使用者點選另一個的時候,再次顯示該程式)

// SingleInstanceApp.cpp : implementation file
//// CWinApp with single-instance support
//// Copyright (C) 1997, 1998 Giancarlo Iovino ([email protected])
// All rights reserved. May not be sold for profit.
//// Thanks to Kevin Lussier for the base idea.
//// This code was developed for MFC Programmers SourceBook
// (http://www.codeguru.com
)
//

#include 
"stdafx.h"
#include 
"SingleInstanceApp.h"#define _AFX_NO_OLE_SUPPORT
#include 
<../mfc/src/afximpl.h>

CSingleInstanceApp::CSingleInstanceApp()
{
    
// Set our default values    m_hMutex = NULL;
}

CSingleInstanceApp::
~CSingleInstanceApp()
{
    
// Release the mutexif ( m_hMutex != NULL ) {
        ReleaseMutex( m_hMutex );
    }
}

BOOL CSingleInstanceApp::CheckSingleInstance(UINT nID) {
    CString strFullString;

    
// Generate a synthetic name for this class using the
    
// AfxRegisterWndClass convention    HINSTANCE hInst = AfxGetInstanceHandle();
    UINT nClassStyle 
= CS_DBLCLKS;    
    HCURSOR hCursor 
= LoadCursor(IDC_ARROW );
    HICON    hIcon 
= LoadIcon(MAKEINTRESOURCE( nID ) );    

    LPCTSTR lpstrAppName 
= AfxGetAppName();
    ASSERT(lpstrAppName 
!= NULL);

    
if (hCursor == NULL && hIcon == NULL)
        m_strClassName.Format(_T(
"%s:%x:%x"), lpstrAppName,
            (UINT)hInst, nClassStyle);
    
else
        m_strClassName.Format(_T(
"%s:%x:%x:%x:%x"), lpstrAppName,
            (UINT)hInst, nClassStyle, (UINT)hCursor, (UINT)NULL);
    
    
// Create the mutex with the class name    m_hMutex = CreateMutex(NULL, FALSE, m_strClassName);
    
// Check for errorsif ( GetLastError() == ERROR_ALREADY_EXISTS ) {
        
// Reset our mutex handle (just in case)        m_hMutex = NULL;
        
// The mutex already exists: an instance is already
        
// running. Find the app window and bring it to foreground        HWND hWnd = FindWindowEx(NULL, NULL, m_strClassName, NULL);
        
if ( hWnd != NULL ) {
            ShowWindow( hWnd, SW_RESTORE );
            BringWindowToTop( hWnd );
            SetForegroundWindow( hWnd );
        }
    
        
// Return failurereturn FALSE;
    }

    
// Register the unique window class name    WNDCLASS wndclass;    
    ZeroMemory(
&wndclass, sizeof(WNDCLASS));

    wndclass.style 
= nClassStyle;
    wndclass.lpfnWndProc 
= AfxWndProc;
    wndclass.hInstance 
= hInst;
    wndclass.hIcon 
= hIcon; 
    wndclass.hCursor 
= hCursor;
    wndclass.hbrBackground 
= NULL;
    wndclass.lpszMenuName 
= NULL;
    wndclass.lpszClassName 
= m_strClassName; // The class name
    
    
// Use AfxRegisterClass to register the class, exit if it failsif(!AfxRegisterClass(&wndclass)) {
        AfxMessageBox( _T(
"Failed to register window class!"), MB_ICONSTOP | MB_OK );
        
// Return failurereturn FALSE;
    }

    
// Return successreturn TRUE;
}

CString CSingleInstanceApp::GetClassName() 
const
{
    
return m_strClassName;
}

相關推薦

例項程式(使用者一個的時候再次顯示程式)

// SingleInstanceApp.cpp : implementation file//// CWinApp with single-instance support//// Copyright (C) 1997, 1998 Giancarlo Iovino ([email protecte

Jquery滑鼠後變色一個按鈕顏色還原

轉載一個! Jquery滑鼠點選後變色,點選另一個按鈕顏色還原 <script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>

正在執行的android程式按home鍵之後退回到桌面再次桌面圖示避免再次重新啟動程式的終極解決辦法

在網上找了好多方法,有的說 在AndroidManifest.xml中修改,MainActivity的launchMode,去掉android:launchMode="singleTask"啟動模式即可。 AndroidManifest.xml的配置程式碼 可是我的程式碼就是這樣

androidhome鍵再次程式圖示重新啟動程式

今天無意中在網上看到一個部落格,上邊記錄著一個問題,就是程式,點選home鍵,返回 桌面,然後再次點選圖示,結果程式重啟。 我當時覺得我的軟體應該沒這個問題吧,結果一試,竟然也有這樣的問題,就搜尋了一下,現在把解決方法記錄一下 分析原因:我將啟動的Activ

微信小程式 實現按鈕選擇圖片後顯示圖片並且可以預覽圖片

wxml: js: data裡 要寫圖片這個變數。 點選選擇圖片 預覽圖片 給 image加事件,利用e.target.dataset.src 獲取當前圖片地址,賦值給wx.previewImage的current變數。

涉及多個Fragment其中一個fragment中的“登入”按鈕跳轉到“登入”介面時出現程式閃退現象

問題說明:我想實現從當前fragment_me中點選一下登入按鈕,跳轉到登入介面,所以我在MeFragment.java裡的onCreate()方法中為TextView控制元件新增監聽事件。但在實際執行中,我點選“Me”之後,會出現閃退現象。 錯誤:空指標異常 出現閃

JavaScript事件-一個按鈕觸發一個按鈕

<input type="button" value="Click" id="C" onclick="Go();"> <input type="button" value="Wait" id="W" onclick="javascript:alert('A

微信小程式--(5-1)列表item把item上面顯示的所有資料傳遞到另外一個頁面

1,WXML頁面 其實很簡單,由於本人是小白,所以記錄一下。   <view class="item_width weui-pa" wx:for="{{itemsData}}" wx:key="">       <view class="weui-medi

Android通知之通知欄通知後返回正在執行的程式而不是一個新Activity

一般的寫法,點選通知欄進入的Activity是一個新建立的Activity,而不是原先正在執行的Activity,這和我的想法是背道而馳的。當你點選返回按鍵退出這個Activity之後,發現,原先正在執行的Activity終於出現了。明顯這樣是不符合條理的。

有多個按鈕一個變色一個變色原來的恢復顏色的方法

click dcl 多個 cti 方法 fault tar span 變色 <a class="btn btn-default changChick" onclick="changChick(this)">高</a> <a class="btn

程式實現 加入購物車 紅拋物線飄入

1:實現效果;   2:index.wxss //只寫紅點樣式 .good_box { width: 30rpx; height: 30rpx; position: fixed; border-radius: 50%; overflow: hidden

微信小程式——商品分類跳轉到商品的商品詳情頁面(已實現)

        首先,我不得不感慨下,慕課網上“7七月”老師的課真的很強大,此處放連結https://coding.imooc.com/learn/list/75.html。        我只是學習到了一半就開

程式學習--按鈕實現分享(元件複用)

首先,第一步,建立一個按鈕的元件,方便複用,當點選按鈕時候,會跳出是否授權的對話方塊: 元件的wxml程式碼: <button  bind:getuserinfo="onGetUserInfo" open-type="{{openType}}" plain="{{true}}

HTML下拉選擇 簡單例項 新增刪除節點到一個節點下

 下拉選擇 簡單例項   <html> <head> <title>HTML</title> <style type="text/css"> </style> </h

怎麼讓jsp頁面自己定時提交按鈕完成form表提交到servlet事件

這個涉及到js的每隔幾秒提交事件 <script type="text/javascript"> function dtime(){ setInterval(sub(), 30000); } function sub(){ document.getEle

微信小程式圖片進行預覽

微信小程式:點選圖片進行預覽   在開發需求中,經常有類似與九宮格的圖片展示,當點選圖片時進行圖片的預覽,如果多圖的情況還可以左右滑動。 小程式中具體實現效果如下: WXML <view class='imgList'>     &nbs

localStorage使用例項-進入顯示廣告關閉之後重新整理網頁不再出現

仿一下京東官網頂部的廣告關閉,效果為第一次進入官網會出現廣告,然後點選關閉,重新整理網頁不會再顯示廣告,但是當清除localStorage存入的資料,重新整理網頁會再顯示廣告。 html程式碼 <div class="header"> <div class="

微信小程式圖片放大

WXML <view class='imgList'> <view class='imgList-li' wx:for='{{imgArr}}'> <image class='img' src='{{i

JQuery應用例項學習 —— 13 後邊框不斷變大

通過操作節點css屬性來控制邊框不斷變大 <!DOCTYPE html> <html lang="en"> <head> <meta charset=

程式框改變繫結的標籤樣式

這是一篇嘔心瀝血的小程式教程 從昨天下午到現在才弄明白的實現方法 如果你有更好的方法 請分享給我吧~ 需求是這樣的 哪個被選中就改變哪個的樣式  我放的明明是動態圖 但是它不動我也沒辦法 正常來說這個用jq來做是非常簡單的 但是小程式中沒辦法操作Dom 所以這個過