亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? 讓程序只運(yùn)行一個(gè)實(shí)例(delphi篇) (2000年12月10.txt

?? delphi 編程技巧
?? TXT
字號(hào):
讓程序只運(yùn)行一個(gè)實(shí)例(Delphi篇) (2000年12月10日) 

本站更新  分類:   作者:陳華珊  推薦:   閱讀次數(shù):644  
(http://www.codesky.net)  

--------------------------------------------------------------------------------

  Windows 下一個(gè)典型的特征就是多任務(wù),我們可以同時(shí)打開(kāi)多個(gè)窗口進(jìn)行操作,也可以同時(shí)運(yùn)行程序的多個(gè)實(shí)例,比如可以打開(kāi)許多個(gè)資源管理器進(jìn)行文件的移動(dòng)復(fù)制操作。但有時(shí)出于某種考慮(比如安全性),我們要做出一些限制,讓程序只能夠運(yùn)行一個(gè)實(shí)例。在Delphi編程中,筆者總結(jié)出了以下幾種方法: 
  一、 查找窗口法 
  這是最為簡(jiǎn)單的一種方法。在程序運(yùn)行前用FindWindow函數(shù)查找具有相同窗口類名和標(biāo)題的窗口,如果找到了,就說(shuō)明已經(jīng)存在一個(gè)實(shí)例。在項(xiàng)目源文件的初始化部分添加以下代碼: 
  Program OneApp 
  Uses 
  Forms,Windows;(這里介紹的幾種方法均需在項(xiàng)目源文件中添加Windows單元,以后不再重復(fù)了) 
  Var Hwnd:Thandle; 
  Begin 
   Hwnd:=FindWindow(‘TForm1’,‘SingleApp’); 
   If Hwnd=0 then 
   Begin 
   Application.Initialize; 
   Application.CreateForm(Tform1, Form1); 
   Application.Run; 
   End; 
  End; 
  FindWindow()函數(shù)帶兩個(gè)參數(shù),其中的一個(gè)參數(shù)可以忽略,但筆者強(qiáng)烈建議將兩個(gè)參數(shù)都用上,免得湊巧別的程序也在使用相同的類名,就得不到正確的結(jié)果了。另外,如果是在Delphi IDE窗口中運(yùn)行該程序,將一次都不能運(yùn)行,因?yàn)橐呀?jīng)存在相同類名和標(biāo)題的窗口:設(shè)計(jì)時(shí)的窗體。 
  二、使用互斥對(duì)象 
  如果覺(jué)得查找窗口的方法效率不太高的話,可以使用創(chuàng)建互斥對(duì)象的方法。盡管互斥對(duì)象通常用于同步連接,但用在這個(gè)地方也是非常方便的。僅用了4句代碼就輕松搞定。 
  VAR Mutex:THandle; 
  begin 
   Mutex:=CreateMutex(NIL,True,‘SingleApp’); 
   IF GetLastError<>ERROR_ALREADY_EXISTS THEN//如果不存在另一實(shí)例 
   BEGIN 
   Application.CreateHandle; 
   Application.CreateForm (TExpNoteForm, ExpNoteForm); 
   Application.Run; 
   END; 
   ReleaseMutex(Mutex); 
  end. 
  三、全局原子法 
  我們也可以利用向系統(tǒng)添加全局原子的方法,來(lái)防止多個(gè)程序?qū)嵗倪\(yùn)行。全局原子由Windows 系統(tǒng)負(fù)責(zé)維持,它能保證其中的每個(gè)原子都是唯一的,管理其引用計(jì)數(shù),并且當(dāng)該全局原子的引用計(jì)數(shù)為0時(shí),從內(nèi)存中清除。我們用GlobalAddAtom 函數(shù)向全局原子添加一個(gè)255個(gè)字節(jié)以內(nèi)的字符串,用GlobalFindAtom來(lái)檢查是否已經(jīng)存在該全局原子,最后在程序結(jié)束時(shí)用GlobalDeleteAtom函數(shù)刪除添加的全局原子。示例如下: 
  Uses Windows 
  const iAtom=‘SingleApp’; 
  begin 
   if GlobalFindAtom(iAtom)=0 then 
   begin 
   GlobalAddAtom(iAtom); 
   Application.Initialize; 
   Application.CreateForm(TForm1,Form1); 
   Application.Run; 
   GlobalDeleteAtom(GlobalFindAtom(iAtom)); 
   end 
   else 
   MessageBox(0,‘You can not run a second copy of this App’,‘’,mb_OK); 
  end. 
  利用全局原子的引用計(jì)數(shù)規(guī)則,我們還可以判斷當(dāng)前共運(yùn)行了該程序的多少個(gè)實(shí)例: 
  var i:Integer; 
  begin 
   I:=0; 
  while GlobalFindAtom(iAtom)<>0 do 
   begin 
   GlobalDeleteAtom(GlobalFindAtom(iAtom)); 
   i:=i+1; 
   end; 
   ShowMessage(IntToStr(I)); 
  end; 
  以上幾種方法在筆者的Delphi 4.0,中文Windows95下通過(guò)。
作者:陳華珊

 
 

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
美女免费视频一区二区| 中文字幕精品三区| 成人黄色电影在线| 久久机这里只有精品| 亚洲电影视频在线| 亚洲一卡二卡三卡四卡| 欧美猛男男办公室激情| 欧美制服丝袜第一页| 91老师国产黑色丝袜在线| 99精品视频一区二区三区| 成人午夜激情片| 风流少妇一区二区| 99久久精品国产一区| 波多野结衣在线aⅴ中文字幕不卡| 日本 国产 欧美色综合| 国产日韩欧美精品在线| 亚洲精品一区在线观看| 制服丝袜中文字幕一区| 欧美一级理论片| 日韩精品中文字幕一区| 91精品国产色综合久久不卡电影| 欧美日韩国产一级二级| 欧美一区二区视频在线观看2022| 91精品国产免费| 国产欧美日韩综合精品一区二区| 国产亚洲成av人在线观看导航 | 欧美国产国产综合| 亚洲在线成人精品| 国产中文字幕精品| 亚洲三级久久久| 日韩电影一区二区三区四区| 麻豆一区二区99久久久久| 国产福利一区二区三区视频| av成人老司机| 日韩一卡二卡三卡国产欧美| 欧美国产精品v| 午夜精品成人在线视频| 国产成人免费在线观看不卡| 欧美图区在线视频| 国产亚洲精品福利| 日本在线不卡一区| 波多野结衣在线aⅴ中文字幕不卡| 欧美日韩专区在线| 久久亚洲免费视频| 图片区小说区国产精品视频| 国v精品久久久网| 成人毛片视频在线观看| 精品在线观看视频| 在线视频欧美精品| 久久精品综合网| 久久不见久久见中文字幕免费| 99精品黄色片免费大全| 国产日韩欧美一区二区三区综合| 日韩中文字幕不卡| 欧美亚洲高清一区二区三区不卡| 欧美激情一区二区三区在线| 国产一区在线观看视频| 欧美性色aⅴ视频一区日韩精品| 欧美高清在线一区| 成人av资源网站| 亚洲手机成人高清视频| 成人毛片在线观看| 久久久精品免费免费| 国产日韩欧美不卡| 视频精品一区二区| 欧美性视频一区二区三区| 亚洲专区一二三| 欧美视频一区二区三区| 亚洲永久精品国产| 欧美日本一道本| 麻豆91免费观看| www激情久久| 9人人澡人人爽人人精品| 综合激情网...| 欧美日韩一区 二区 三区 久久精品| 亚洲国产欧美另类丝袜| 欧美精品 国产精品| 精品一区二区三区蜜桃| 中文字幕av免费专区久久| 豆国产96在线|亚洲| 亚洲美女视频在线| 91亚洲男人天堂| 青青青伊人色综合久久| xfplay精品久久| 一本久久a久久免费精品不卡| 亚洲高清在线精品| 国产日韩欧美一区二区三区综合| 色狠狠色狠狠综合| 国产精品影视天天线| 一区二区三区中文字幕在线观看| 日韩三级中文字幕| 一本到三区不卡视频| 伦理电影国产精品| 亚洲午夜电影在线| 国产精品乱人伦| 久久综合一区二区| 6080国产精品一区二区| 色先锋aa成人| 成人免费观看视频| 精品一区二区三区av| 天天亚洲美女在线视频| 国产精品家庭影院| 欧美国产精品久久| 久久久久国色av免费看影院| 欧美一区二区播放| 欧美日韩激情在线| 91九色02白丝porn| 91色视频在线| 成人免费视频播放| 国产在线看一区| 麻豆一区二区三区| 久久精品999| 精品一区二区三区免费| 麻豆国产一区二区| 裸体在线国模精品偷拍| 青青草原综合久久大伊人精品 | 日韩欧美在线网站| 日韩欧美高清在线| 欧美高清性hdvideosex| 日韩一区二区三区免费观看| 欧美一区二区视频在线观看2022| 欧美日韩国产电影| 亚洲精品一区二区在线观看| 久久精品人人做人人综合| 久久久久久**毛片大全| 欧美激情在线观看视频免费| 国产精品久久久99| 亚洲国产中文字幕| 麻豆精品国产91久久久久久| 夫妻av一区二区| 日本丶国产丶欧美色综合| 制服丝袜激情欧洲亚洲| 日韩欧美你懂的| 国产精品久久久久影视| 一区二区三区资源| 久久国产尿小便嘘嘘尿| 91蜜桃视频在线| 日韩欧美在线1卡| 亚洲女与黑人做爰| 麻豆久久一区二区| 色婷婷综合五月| 欧美体内she精视频| 国产精品视频观看| 午夜电影久久久| 成人免费毛片a| 欧美mv日韩mv国产网站app| 最新热久久免费视频| 国产麻豆视频一区| 4438亚洲最大| 亚洲丰满少妇videoshd| 国产伦精品一区二区三区免费迷| 欧美午夜电影网| 亚洲欧美综合色| 国产91色综合久久免费分享| 日韩免费高清av| 日日夜夜免费精品| 欧亚一区二区三区| 亚洲桃色在线一区| 99精品欧美一区二区三区小说 | 欧美卡1卡2卡| 亚洲gay无套男同| 欧美精品久久久久久久多人混战 | 日韩视频国产视频| 免费成人av在线| 久久精品人人爽人人爽| 国产成人av电影在线播放| 久久久电影一区二区三区| 成人免费视频一区二区| 亚洲欧美二区三区| 7777精品伊人久久久大香线蕉 | 91麻豆免费看| 亚洲人妖av一区二区| 不卡视频免费播放| 亚洲欧美日韩国产综合| 91亚洲大成网污www| 中文字幕中文字幕在线一区| 国产成人在线免费观看| 91精品国产色综合久久ai换脸| 精品国产乱码久久久久久影片| 婷婷开心久久网| 日韩精品一区二区三区视频在线观看| 午夜天堂影视香蕉久久| 日韩精品一区二区在线| 国产一区二区三区av电影| 中日韩av电影| 欧美高清你懂得| 国产成人精品免费网站| 亚洲日穴在线视频| 在线成人小视频| 国产一区久久久| 中文字幕一区av| 91麻豆精品91久久久久同性| 国产福利一区二区三区视频| 亚洲精品欧美二区三区中文字幕| 欧美日本一道本在线视频| 成人免费高清视频在线观看| 亚洲国产视频a| 国产三级精品三级| 8x福利精品第一导航| youjizz国产精品|