熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Delphi編程 >> 正文

如何實現一個應用程序只能打

2022-06-13   來源: Delphi編程 
    ——此文章摘自《Delphi開發經驗技巧寶典》定價 特價 購買>>http://tracklinktechcn/?m_id=dangdang&a_id=A&l=&l_type= width= height= border= nosave>

    在開發過程中可以使用互斥對象控制應用程序只能打開一個進程避免誤操作或其他原因造成因同時打開多個應用程序而使數據錄入或統計錯誤本例是在工程單元中打開互斥對象如果句柄為說明互斥對象不存在創建互斥對象並運行程序如果句柄大於說明存在互斥對象程序直接退出主要代碼如下
    if  OpenMutex(MUTEX_ALL_ACCESSTrueMutex)= then
      begin
       CreateMutex(nilTrueMutex);
       ApplicationInitialize;
       ApplicationCreateForm(TForm Form);
       ApplicationRun;
       CloseHandle(OpenMutex(MUTEX_ALL_ACCESSTrueMutex));
      end;

    使用CreateMutex函數創建互斥對象
    語法格式如下
    Handle CreateMutex(
       LPSECURITY_ATTRIBUTES lpMutexAttributes
       BOOL bInitialOwner    
       LPCTSTR lpName
       );

    參數說明 
    lpMutexAttributes安全屬性 
    BInitialOwner指定互斥對象是否擁有所有者標識值為true時程序創建的Create Process 方法能夠繼承互斥對象句柄 
    LpName創建的互斥對象名稱 
    Return_Value返回創建的互斥對象句柄

    使用OpenMutex函數打開互斥對象
    語法格式如下
    Handle OpenMutex(
       DWORD dwDesiredAccess      // access flag
       BOOL bInheritHandle    // inherit flag
       LPCTSTR lpName        // pointer to mutexobject name
       );

    參數說明 
    dwDesiredAccess訪問標識 
    BInheritHandle繼承標識 
    LpName互斥對象名稱 
    Return_Value返回打開的互斥對象句柄


From:http://tw.wingwit.com/Article/program/Delphi/201311/24892.html
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.