第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

怎樣實(shí)現(xiàn)在程序打開的時(shí)候就不能對(duì)程序做除了復(fù)制之類的其他任何操作,如改名,刪除,移動(dòng)

怎樣實(shí)現(xiàn)在程序打開的時(shí)候就不能對(duì)程序做除了復(fù)制之類的其他任何操作,如改名,刪除,移動(dòng)

C#
弒天下 2023-03-03 18:14:43
public Form1(){InitializeComponent();System.Diagnostics.Process currentprocess = System.Diagnostics.Process.GetCurrentProcess();System.Diagnostics.Process[] myProcesses = System.Diagnostics.Process.GetProcessesByName(currentprocess.ProcessName);if (myProcesses.Length > 1){MessageBox.Show("當(dāng)前程序已啟動(dòng)");this.Close();this.Dispose();GC.Collect();}}例如這個(gè),如果打開了一個(gè)進(jìn)程,我把程序復(fù)制到其他地方還是打不開,我要能根據(jù)當(dāng)前路徑判斷的,把程序復(fù)制到其他地方就能打開兩個(gè)還有怎樣實(shí)現(xiàn)在程序打開后就不能更改程序的名稱,在有多個(gè)form,并且第一個(gè)form會(huì)隱藏的情況下拜托給點(diǎn)注釋行不,看不太懂,那個(gè)run是什么???
查看完整描述

2 回答

?
小怪獸愛吃肉

TA貢獻(xiàn)1852條經(jīng)驗(yàn) 獲得超1個(gè)贊

public Form1()
{
InitializeComponent();
System.Diagnostics.Process currentprocess = System.Diagnostics.Process.GetCurrentProcess();
System.Diagnostics.Process[] myProcesses = System.Diagnostics.Process.GetProcessesByName(currentprocess.ProcessName);
int count = myProcesses.Where(n => n.MainModule.FileName == currentprocess.MainModule.FileName).Count();
if (count > 1)
{
MessageBox.Show("當(dāng)前程序已啟動(dòng)");
this.Dispose();
}

}

測(cè)試通過(guò)(調(diào)試模式下測(cè)試無(wú)效), 用的.NET 3.5 才行


查看完整回答
反對(duì) 回復(fù) 2023-03-06
?
米脂

TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超3個(gè)贊

C# 創(chuàng)建互斥進(jìn)程(程序) 互斥進(jìn)程(程序), 簡(jiǎn)單點(diǎn)說(shuō),就是在系統(tǒng)中只能有該程序的一個(gè)實(shí)例運(yùn)行. 現(xiàn)在很多軟件都有這功能,如Maxthon 可以設(shè)置為"只允許打開一個(gè)窗體",還有Bitcomet等. 我也是看到這些軟件的這個(gè)功能才來(lái)研究這個(gè)問(wèn)題的. 要實(shí)現(xiàn)程序的互斥,通常有4中方式,下面用 C# 語(yǔ)言來(lái)實(shí)現(xiàn):

實(shí)現(xiàn)方式一: 使用線程互斥變量. 通過(guò)定義互斥變量來(lái)判斷是否已運(yùn)行實(shí)例.C#實(shí)現(xiàn)如下: 
把program.cs文件里的Main()函數(shù)改為如下代碼: 
static void Main() 

bool runone; 
System.Threading.Mutex run = new System.Threading.Mutex(true, "jiaao_test", out runone); 
if (runone) 

run.ReleaseMutex(); 
Application.EnableVisualStyles(); 
Application.SetCompatibleTextRenderingDefault(false); 
Application.Run(new Form1()); 

else 

MessageBox.Show("已經(jīng)運(yùn)行了一個(gè)實(shí)例了。"); 



正在運(yùn)行的程序,他的EXE文件是無(wú)法刪除和移動(dòng)的,這是windows的文件保護(hù)!比如你打開一個(gè)word,然后不關(guān)掉,你再去刪除這個(gè)word是刪除不掉的。更本不需要你程序去做這個(gè)保護(hù)!

查看完整回答
反對(duì) 回復(fù) 2023-03-06
  • 2 回答
  • 0 關(guān)注
  • 109 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)