2011-06-09 116 views
0

嗨有可能阻止我的.exe應用程序被重命名..?C#阻止我的.exe win應用程序被重命名?

這裏是塞納里奧(我的問題)

後我跑我的程序,(可以說我運行MyApp.exe將) 一個不友好的用戶突然爲了好玩,我改名到MyApp.exe的...讓說Goodtime.exe

之後。他註銷窗口(XP),然後當我的程序試圖啓動運行 MyApp.exe,我不會因爲它被重命名

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

感謝任何人誰會幫助=)

回答

1

這是不可能的。

但是,有一個替代方案可以做到這一點。 您可以將用戶設置爲對其計算機的用戶帳戶擁有有限權限。在那種情況下,他不能以他想要的方式重命名文件。這是操作系統提供的限制,只有計算機的管理員可以將這些限制設置爲用戶帳戶。

編輯 我的意思是在這裏如果你是計算機的管理員,作爲替代,你可以手動限制誰登錄-到計算機用戶的特權。爲了更好地理解我的意思,請閱讀我的帖子上的回覆。 :)

+0

能否詳細說明你的第二段?您是否提議更改授予用戶帳戶的權限?你會如何建議這樣做? – 2011-06-09 18:57:24

+0

我假設如果Katherina是計算機的管理員,她可以限制登錄到計算機的用戶的權限。但是,在您的情況下,如果用戶擁有計算機,那麼我們無能爲力。他們可以隨時重命名文件。 – 2011-06-10 06:45:27

+0

只要沒有人認爲程序的安裝包開始修改用戶權限是個好主意! – 2011-06-10 06:47:15

3

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

0

您可以將您的應用程序放置在用戶不太可能去的地方並重命名它,就像在程序文件文件夾中一樣。但是你無法阻止他們重新命名應用程序。

0

如果用戶不是該機器上的管理員,他們將無權默認重命名Program Files目錄中的文件。人們會希望不友好的用戶不是目標機器上的管理員(如果他們是,他們可以做比重命名一個應用程序文件差很多)。

0

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

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

0

您可能會考慮使用clickonce發佈。對於我的生活,我永遠不能保證我可以在clickonce安裝後找到紅潤的應用程序,這樣可以阻止你友好的用戶搞亂了應用程序? ;-)

以下是關於ClickOnce Publishing的一些信息。

本質上,編寫一個應用程序,右鍵單擊項目/解決方案,選擇「發佈」,然後按照嚮導。

它不能保證用戶不能重命名和混淆文件,但它會使它更難。

0
  1. 通過權限的方式,大多數人在這裏解釋。
  2. 愚蠢和浪費的方法是讓一個守護進程(Service)在系統啓動後的所有時間內運行。這樣系統不會允許這個可執行文件被重命名,除非這個守護進程停止。
-2

您可以防止在運行時重命名或移動您的exe文件。 在您的exe文件中打開exe文件以便讀取和拒絕寫入。 只要運行該文件就保持打開狀態。

+0

這不解決OP的問題。 – 2012-07-30 14:08:29