中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

互聯(lián)網(wǎng)網(wǎng)站建設(shè)制作精品成品網(wǎng)站源碼

互聯(lián)網(wǎng)網(wǎng)站建設(shè)制作,精品成品網(wǎng)站源碼,58同城做網(wǎng)站多少錢,建設(shè)公司上市企業(yè)有多少?今次介紹一個(gè)應(yīng)用程序單例唯一運(yùn)行方案的代碼。 我們知道,有些應(yīng)用程序在操作系統(tǒng)中需要單例唯一運(yùn)行,因?yàn)槌绦蚨嚅_的話會(huì)對(duì)程序運(yùn)行效果有影響,最基本的例子就是打印機(jī),只能運(yùn)行一個(gè)實(shí)例。這里將筆者單例運(yùn)行的代碼共享出來(lái)&…

  今次介紹一個(gè)應(yīng)用程序單例唯一運(yùn)行方案的代碼。

  我們知道,有些應(yīng)用程序在操作系統(tǒng)中需要單例唯一運(yùn)行,因?yàn)槌绦蚨嚅_的話會(huì)對(duì)程序運(yùn)行效果有影響,最基本的例子就是打印機(jī),只能運(yùn)行一個(gè)實(shí)例。這里將筆者單例運(yùn)行的代碼共享出來(lái),需要的讀者請(qǐng)自己復(fù)用該代碼到自己的項(xiàng)目中即可。

  1、? 項(xiàng)目目錄;

  下面是項(xiàng)目目錄,因?yàn)槭且欢未a,所以給出的例子比較簡(jiǎn)單。

????????

  2、? 代碼介紹;

  這里的代碼挺簡(jiǎn)單的,就是獲取應(yīng)用程序的GUID和運(yùn)行的進(jìn)程進(jìn)行判斷,因?yàn)镚UID唯一,所以更改了程序名稱或者改變了目錄都不會(huì)有影響;而運(yùn)行進(jìn)程判斷是附加的方式,防止當(dāng)前目錄的程序運(yùn)行多次。

 1 namespace ProgramInstance2 {3     using System;4     using System.Diagnostics;5     using System.Reflection;6     using System.Runtime.InteropServices;7     using System.Threading;8 9 
10     /// <summary>
11     /// 單例程序操作類
12     /// </summary>
13     internal class SingleInstance
14     {
15         /// <summary>
16         /// 程序是否運(yùn)行
17         /// </summary>
18         /// <returns>true 程序已運(yùn)行;false 程序未運(yùn)行</returns>
19         internal static bool IsRunning(out Process process)
20         {
21             //如果判斷全系統(tǒng)唯一,直接用下列方法;如果判斷當(dāng)前文件夾唯一,則將GUID判斷去掉;
22             new Mutex(true, 
          new Guid(((GuidAttribute)Attribute.GetCustomAttribute(Assembly.GetExecutingAssembly(),
            typeof(GuidAttribute))).Value).ToString("N"),
          out bool createdNew); 23 process = RunningInstance(); 24 return (!createdNew || (process != null)); 25 } 26 /// <summary> 27 /// 獲取當(dāng)前程序進(jìn)程實(shí)例 28 /// </summary> 29 /// <returns>程序進(jìn)程實(shí)例</returns> 30 private static Process RunningInstance() 31 { 32 Process currentProcess = Process.GetCurrentProcess(); 33 foreach (Process process in Process.GetProcessesByName(currentProcess.ProcessName)) 34 { 35 if ((process.Id != currentProcess.Id) &&
              (Assembly.GetExecutingAssembly().Location.Replace("/", @"\") == currentProcess.MainModule.FileName)) 36 { 37 return process; 38 } 39 } 40 return null; 41 } 42 } 43 }
 1 namespace SingleInstance2 {3     using System;4     using System.Diagnostics;5     using System.Runtime.InteropServices;6     using System.Windows.Forms;7 8     /// <summary>9     /// 程序類
10     /// </summary>
11     internal static class Program
12     {
13         [DllImport("User32.dll")]
14         private static extern bool SetForegroundWindow(IntPtr hWnd);
15         [DllImport("User32.dll")]
16         private static extern bool ShowWindowAsync(IntPtr hWnd, int cmdShow);
17 
18         /// <summary>
19         /// 應(yīng)用程序的主入口點(diǎn)
20         /// </summary>
21         [STAThread]
22         static void Main()
23         {
24             if (ProgramInstance.SingleInstance.IsRunning(out Process process))
25             {
26                 ShowWindowAsync(process.MainWindowHandle, 9 | 1);
27                 SetForegroundWindow(process.MainWindowHandle);
28 
29                 return;
30             }
31 
32 
33             Application.EnableVisualStyles();
34             Application.SetCompatibleTextRenderingDefault(false);
35 
36             Application.Run(new Form1());
37         }
38     }
39 }

  3、? 運(yùn)行截圖;

  因?yàn)槭谴a段復(fù)用,所以這里不提供運(yùn)行截圖了。

  4、? 源碼下載;

  需要該例子代碼的,請(qǐng)移步到下面鏈接進(jìn)行下載:

  https://download.csdn.net/download/lzhdim/88158095

  上面介紹了C#編寫的應(yīng)用程序單例運(yùn)行的例子,希望對(duì)有該需求的讀者以幫助。后面會(huì)將筆者認(rèn)為有用的代碼段共享出來(lái),讓需要的讀者進(jìn)行代碼段復(fù)用。

  注:如果需要應(yīng)用程序多開(放到其它文件夾中,或者在當(dāng)前文件夾中復(fù)制更改應(yīng)用程序名稱),請(qǐng)將GUID的判斷去掉即可。

http://www.risenshineclean.com/news/59198.html

相關(guān)文章:

  • 外國(guó)人做網(wǎng)站如何推廣app
  • 沈陽(yáng)大十字街附近做網(wǎng)站公司百度怎么推廣網(wǎng)站
  • 山東省兩學(xué)一做網(wǎng)站seopc流量排行榜企業(yè)
  • 邢臺(tái)做網(wǎng)站的價(jià)格成都搜索優(yōu)化排名公司
  • 湖里區(qū)建設(shè)局網(wǎng)站無(wú)錫網(wǎng)絡(luò)優(yōu)化推廣公司
  • php如何做局域網(wǎng)的網(wǎng)站今日頭條指數(shù)查詢
  • 自己可以進(jìn)行網(wǎng)站建設(shè)嗎上海知名的seo推廣咨詢
  • 全國(guó)疫情最新中高風(fēng)險(xiǎn)地區(qū)名單青島百度seo代理
  • 信息設(shè)計(jì)網(wǎng)站百度網(wǎng)盤服務(wù)電話6988
  • 東莞外貿(mào)優(yōu)化公司東莞搜索優(yōu)化十年樂(lè)云seo
  • 網(wǎng)站建設(shè)寫代碼自己怎么創(chuàng)業(yè)附近哪里有計(jì)算機(jī)培訓(xùn)班
  • 網(wǎng)站建設(shè)中最重要的南寧百度推廣代理商
  • 網(wǎng)站seoapp阿亮seo技術(shù)
  • 甘肅省城鄉(xiāng)和建設(shè)廳網(wǎng)站首頁(yè)seo優(yōu)化方法網(wǎng)站快速排名推廣渠道
  • php在動(dòng)態(tài)網(wǎng)站開發(fā)深圳網(wǎng)絡(luò)公司推廣平臺(tái)
  • 網(wǎng)站建設(shè)信息模板下載在哪里可以做百度推廣
  • 做網(wǎng)站的上市公司海外發(fā)布新聞
  • 番禺網(wǎng)站建設(shè)優(yōu)化網(wǎng)站產(chǎn)品怎么優(yōu)化
  • 平潭城鄉(xiāng)住房建設(shè)廳網(wǎng)站如何推廣小程序
  • 靈犀科技網(wǎng)站開發(fā)精準(zhǔn)營(yíng)銷系統(tǒng)價(jià)值
  • 做網(wǎng)站開發(fā)的提成多少錢seo推廣培訓(xùn)費(fèi)用
  • 怎么做網(wǎng)站結(jié)構(gòu)圖seo公司彼億營(yíng)銷
  • 臨平網(wǎng)站建設(shè)東莞專業(yè)網(wǎng)站推廣工具
  • seo網(wǎng)站開發(fā)注意事項(xiàng)鄭州整站網(wǎng)站優(yōu)化
  • 網(wǎng)站打不開顯示asp網(wǎng)站設(shè)計(jì)規(guī)劃
  • 做房地產(chǎn)資質(zhì)是什么網(wǎng)站查seo褲子的關(guān)鍵詞首頁(yè)排名有哪些
  • 建設(shè)公積金網(wǎng)站蘇州做網(wǎng)站的專業(yè)公司
  • 廣州市網(wǎng)站建設(shè)制作費(fèi)用站長(zhǎng)全網(wǎng)指數(shù)查詢
  • 2017自己做網(wǎng)站的趨勢(shì)seo站長(zhǎng)
  • 學(xué)做網(wǎng)站網(wǎng)百度網(wǎng)訊科技有限公司官網(wǎng)