国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院

首頁 > 編程 > Delphi > 正文

防止應用程序出現多個實例的通用單元-UniqueInstance.pas

2019-09-08 23:09:07
字體:
來源:轉載
供稿:網友
                                                                                                                                                       
                       

{ unit UniqueInstance;/t/t/t/t/t/t/t }
{/t/t/t/t/t/t/t/t/t      }
{ Check if previous application instance exists, if yes, the previous/t  }
{ instance will be active, and current instance will be terminate./t     }
{/t/t/t/t/t/t/t/t/t      }
{ written by savetime, http://savetime.delphibbs.com 2004/6/27/t/t }
{/t/t/t/t/t/t/t/t/t      }
{ Usage:/t/t/t/t/t/t/t/t       }
{   Include this unit to your delphi project, no more job to do./t       }
{/t/t/t/t/t/t/t/t/t      }
{ Important:/t/t/t/t/t/t/t/t   }
{   You must NOT remove the project line: Application.Initialize;/t      }
{/t/t/t/t/t/t/t/t/t      }
{ Notes:/t/t/t/t/t/t/t/t       }
{   This unit identify an application by it''s EXE file name. So, if you want   }
{   to specify another unique application name, you must change the value      }
{   UniqueApplicationName in CheckPriviousInstance procedure./t/t  }
{/t/t/t/t/t/t/t/t/t      }

unit UniqueInstance;

interface

uses Classes, SysUtils, Windows, Forms;

implementation

var
 UniqueMessageID: UINT;
 UniqueMutexHandle: THandle;
 PreviousWndProc: TFNWndProc;
 NextInitProc: Pointer;

function ApplicationWndProc(hWnd: HWND; uMsg: UINT; wParam: WPARAM;
 lParam: LPARAM): LResult; stdcall;
begin
 // Note: Use "<>" may boost application speed.
 if uMsg <> UniqueMessageID then
   Result := CallWindowProc(PreviousWndProc, hWnd, uMsg, wParam, lParam)
 else begin
   if IsIconic(Application.Handle) then Application.Restore;
   SetForegroundWindow(Application.Handle);
   Result := 0;
 end;
end;

procedure BringPreiviousInstanceForeground;
const
 BSMRecipients: DWORD = BSM_APPLICATIONS;
begin
 BroadcastSystemMessage(BSF_IGNORECURRENTTASK or BSF_POSTMESSAGE,
   @BSMRecipients, UniqueMessageID, 0, 0);
 Halt;
end;

procedure SubClassApplication;
begin
 PreviousWndProc := TFNWndProc(SetWindowLong(Application.Handle, GWL_WNDPROC,
   Integer(@ApplicationWndProc)));
end;

procedure CheckPreviousInstance;
var
 UniqueApplicationName: PChar;
begin
 // Unique application name, default set to EXE file name,
 // you can change it to yourself.
 UniqueApplicationName := PChar(ExtractFileName(Application.ExeName));

 // Register unique message id
 UniqueMessageID := RegisterWindowMessage(UniqueApplicationName);

 // Create mutex object
 UniqueMutexHandle := CreateMutex(nil, False, UniqueApplicationName);

 // Create mutex failed, terminate application
 if UniqueMutexHandle = 0 then
   Halt
 // The same named mutex exists, show previous instance
 else if GetLastError = ERROR_ALREADY_EXISTS then
   BringPreiviousInstanceForeground
 // No previous instance, subclass application window
 else
   SubClassApplication;

 // Call next InitProc
 if NextInitProc <> nil then TProcedure(NextInitProc);
end;

initialization
 // Must use InitProc to check privious instance,
 // as the reason of Application hasn''t been created!
 NextInitProc := InitProc;
 InitProc := @CheckPreviousInstance;

finalization
 // Close the mutex handle
 if UniqueMutexHandle <> 0 then CloseHandle(UniqueMutexHandle);

end.


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院
日本电影在线观看| 国产一级黄色片免费| 国产麻豆精品高清在线播放| 在线中文资源天堂| 91国内在线| 国产网站麻豆精品视频| 国产成在线观看免费视频| 在线午夜视频| 麻豆网站在线免费观看| 国产网站av| wwww在线观看免费视频| 久艹在线视频| 国产porny蝌蚪视频| 日本调教视频在线观看| 天堂资源最新版在线视频观看免费网| 国产一卡2卡3卡四卡网站| 国产福利三区| 丁香视频五月| 欧美精品久久久久久久小说| 国产精品区一区二| 亚洲综合在线不卡| 国产日韩欧美第一页| 人人干在线视频| 9色在线视频网站| 国产精品四虎| 国产精品一区二区三区四区色| 中文字幕av网| 国产视频2区| 午夜视频在线| 国产在线黄色片| 欧美精品一区二区三区免费| 精精国产xxxx视频在线| 国产视频在线播放| 国产美女视频一区二区三区| 影音av资源站| 国产欧美日韩精品综合| 国产在线一二三| 麻豆视频国产| 九九视频精品在线| 开心丁香婷婷深爱五月| 欧美成人亚洲高清在线观看| 在线观看免费高清完整| 亚洲精品成人a| 日本在线观看网站| 免费a在线观看| 天天爱天天色| 国产福利微拍精品一区二区| 国产黄色一级电影| 伊人网在线免费观看| 96精品视频| 在线视频三级| 超碰免费在线播放| 中文字幕一区二区三区免费视频| 国产伦精品一区二区三区高清版禁 | 国产男女av| 国产裸舞福利在线视频合集| 天堂资源最新在线| 国产小视频在线高清播放| 国产精品日日爱| av激情在线| 国产主播福利在线| 999精品网| 在线播放www| 九九热视频免费观看| 国产一二三四| 精品推荐国产麻豆剧传媒| 日本在线免费中文字幕| 国产一级在线观看| 亚洲欧美综合乱码精品成人网| 免费高清视频日韩| 国产成在线观看免费视频| gogo在线高清视频| 国产一区二区三区四区尤物| 在线观看中文| 中文字幕成人乱码在线电影| av中文天堂在线| 国产激情在线视频| 免费高清视频日韩| 精品一区二区三区在线观看l| 国产在线小视频| 在线观看av资源网| 国产一级又黄| 免费不卡中文字幕视频| 99福利在线| 91蜜桃在线视频| 综合蜜桃精品| 黄网在线免费| 久热精品免费视频| 亚洲欧美日韩综合精品网| 国产黄色在线网站| 国产理论电影在线观看| 好看的中文字幕在线播放| 精精国产xxxx视频在线中文版 | 精品国产高清a毛片无毒不卡| 黄色av电影在线播放| 性色视频在线| 日本一级理论片在线大全| 精品av中文字幕在线毛片| 在线中文免费视频| 中文字幕4区| 91蜜桃在线视频| 91国内精品久久久久| 五月婷婷丁香激情| 最近中文字幕mv2018在线高清| 超碰在线观看免费版| 欧美午夜电影一区二区三区| 性国产高清在线观看| 日本不卡视频一区二区| av在线你懂的| 开心丁香婷婷深爱五月| 国内a∨免费播放| 最近最好的中文字幕2019免费| 国产一二三区精品视频| 7777在线| 男女午夜视频在线观看| 二人午夜免费观看在线视频| 91sp网站在线观看入口| 国产精品视频二区三区| 国产youjizz在线| 亚洲天堂二区| 国产精品一区二区三区视频网站| 国产日本在线视频| av色在线观看| 国产麻豆一区二区三区精品| 国产激情自拍| 麻豆福利在线观看| 2019年中文字幕| 超碰在线国产| 在线免费看av| 国产一级影片| 另类高清dbsm日本tvav| 6699久久国产精品免费| 免费a级人成a大片在线观看| 最近久乱中文字幕| 欧美婷婷久久五月精品三区| 国产精品bbw一区二区三区| 天天干天天操天天爽| 国产二区三区在线| 高清av中文在线字幕观看1| 精品欧美色视频网站在线观看| 九九热在线播放| 香蕉视频免费在线播放| 国产福利视频在线| 中文字幕国产视频| 粉嫩av一区| h视频在线网站| 精品无吗乱吗av国产爱色| 国产农村av| 久草在线资源福利| 四虎成人精品在永久在线观看| 国产精品666| 国产精品bbw一区二区三区| 国产免费黄网站| 国产字幕在线看| 国产精品一区二区三区视频网站 | 国产乱码在线| 久热免费视频| 欧美国产中文| 亚洲va国产日韩欧美精品色婷婷| 国产经典自拍视频在线观看 | 中文字幕4区| av免费在线观| 四虎影院成人| 日本h视频在线观看| 亚洲精品少妇久久久久久| av丝袜在线| www.av在线视频| 狂野欧美性猛交xxxx乱大交| 久久久久久久美女| 国产免费麻豆视频| 黄色av网站在线免费观看| 国产精品一区二区三区四区色| 国产精品自产拍在线网站| 中文字幕在线视频免费观看| 五月婷婷在线观看| 在线三级中文| 人成在线免费视频| 国产一级网站视频在线| 国产黄色免费网站| 在线a人片免费观看视频| 日本在线观看网站| 中文字幕在线影视资源| 国产不卡视频| 亚洲色婷婷综合开心网| 国内自拍视频在线观看| 高清色视频在线观看| 国产三级自拍| jlzzjlzz欧美大全| 国产区视频在线| 日本在线观看| 国产精品白浆视频免费观看| 午夜小视频在线| 国产一级二级在线| www.操操| 99re在线视频| 1区2区3区在线| 久久精品视频观看| 99热播在线观看| 国产网站在线免费观看| 青青在线视频|