簡體   English   中英

C# 防止 my.exe win 應用程序被重命名?

[英]C# Prevent my .exe win application on being renamed?

嗨,是否可以防止 my.exe 應用程序被重命名..?

這是 senario(我的問題)

在我運行我的程序后,(假設我運行 MyApp.exe)一個不友好的用戶突然為了好玩,將我的 MyApp.exe 重命名為......讓我們說 Goodtime.exe

在那之后。 他注銷 windows(xp),然后當我的程序嘗試在啟動 MyApp.exe 上運行時,我不會因為它已重命名

是否可以通過代碼來防止這種情況?

感謝任何願意幫助的人=)

你不能真的試圖阻止它。 這是用戶的計算機,如果他們想重命名計算機上的文件,他們可以這樣做。

這是不可能的。

但是,還有另一種方法可以做到這一點。 您可以將用戶設置為對其計算機的用戶帳戶具有有限的權限。 在這種情況下,他無法以他想要的方式重命名文件。 這是操作系統提供的限制,只有計算機的管理員才能對用戶帳戶設置這些限制。

編輯我的意思是,如果您是計算機的管理員,作為替代方案,您可以手動限制登錄計算機的用戶的權限。 為了更好地理解我的意思,請閱讀我帖子中的回復。 :)

您可以將應用程序放在用戶不太可能 go 的位置並重命名它,例如在程序文件文件夾中。 但是您無法阻止他們實際重命名應用程序。

如果用戶不是該計算機上的管理員,則默認情況下他們將無權重命名 Program Files 目錄中的文件。 人們希望不友好的用戶不是目標機器上的管理員(如果是,他們可以做的比重命名一個應用程序文件更糟糕)。

您可以檢查可執行文件在運行時的名稱。

但是您不能阻止用戶重命名它。

您可以考慮使用 clickonce 發布。 在我的一生中,我永遠無法保證我可以在單擊安裝后找到紅潤的應用程序,這樣可能會阻止您友好的用戶弄亂該應用程序? ;-)

這是有關ClickOnce Publishing的一些信息。

本質上,編寫一個應用程序,右鍵單擊項目/解決方案,選擇“發布”,然后按照向導進行操作。

它不能保證用戶不能重命名和弄亂文件,但它會讓它變得更難。

  1. 正如大多數人在這里解釋的那樣,通過權限方式。
  2. 愚蠢和浪費的方法是讓一個守護進程(服務)在系統啟動后一直運行訪問這個文件。 這樣,除非該守護進程停止,否則系統將不允許重命名該可執行文件。

您可以在運行時阻止重命名或移動 exe 文件。 打開 exe 文件中的 exe 文件進行讀取和拒絕寫入。 只要它運行,就保持這個文件打開。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM