C#開(kāi)發(fā)之刪除桌面快捷方式小圖標(biāo)

MMAin.png

最近很無(wú)聊待榔,就想著用C#做一個(gè)小工具:一鍵刪除桌面快捷方式小箭頭
然而這其中蝠筑,充滿了曲折...


開(kāi)發(fā)中遇到的各種問(wèn)題

  • 讀取注冊(cè)表
    1.c#中操作注冊(cè)表:RegistryKey,Registry
string Shorts_Path = @"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Icons";
RegistryKey Rkey0 = Registry.LocalMachine.OpenSubKey(Shorts_Path,true);//打開(kāi)注冊(cè)表

上面的代碼中,因?yàn)閘ocalmachine注冊(cè)表是系統(tǒng)注冊(cè)表昼扛,所以很容易發(fā)生讀寫(xiě)錯(cuò)誤等問(wèn)題,開(kāi)發(fā)過(guò)程中多次出現(xiàn)無(wú)法訪問(wèn)/創(chuàng)建子項(xiàng)/值
針對(duì)以上問(wèn)題,需要打開(kāi)項(xiàng)目屬性-安全性-啟用ClickOnce安全設(shè)置奠衔,這時(shí)候項(xiàng)目文件夾下會(huì)生成一個(gè)app.maniftest文件,需要修改其中的<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />塘娶,需要修改原本的level值為requireAdministrator归斤,然后取消ClickOnce安全設(shè)置,重新編譯刁岸,會(huì)提示切換用戶脏里,此時(shí)等待重啟再編譯就不會(huì)發(fā)生異常。

Mainiftest.png

  • C#設(shè)置文件屬性虹曙、判斷文件是否存在迫横、刪除文件
    1.因?yàn)樵谒阉鞯降腷at模式下,需要使用attrib命令酝碳,對(duì)一個(gè)iconcache文件進(jìn)行屬性取消矾踱,使其能夠被刪除,所以C#中也需要對(duì)文件進(jìn)行屬性設(shè)置
            string SystmDir, Udir;
            GetPathName(out SystmDir, out Udir);
            string IconCacheDir = $@"{Udir}\AppData\Local\iconcache.db";
            bool FileIsExit = File.Exists(IconCacheDir);
            if (FileIsExit == true)
            {
                File.SetAttributes(IconCacheDir,FileAttributes.Normal);
                File.Delete(IconCacheDir);
            }

以上代碼不做解釋击敌,文件操作涉及到File類

  • C#獲取系統(tǒng)環(huán)境變量
    因?yàn)樵诓淮_定用戶系統(tǒng)位置盤(pán)符都統(tǒng)一介返,所以需要讀取系統(tǒng)變量,讀取系統(tǒng)環(huán)境變量需要用到Environment類
            string SystemRootDir, UserProfileDir;
            SystemRootDir = Environment.GetEnvironmentVariable("systemroot");
            UserProfileDir = Environment.GetEnvironmentVariable("userprofile");
            SystemDir = SystemRootDir;
            UProfile = UserProfileDir;

使用GetEnvironmentVariable方法分別獲取systemroot和userprofile,相當(dāng)于在cmd中調(diào)用%systemroot%和%userprofile%,來(lái)獲取到系統(tǒng)位置

  • C#獲取操作系統(tǒng)位數(shù)
    在實(shí)際調(diào)試開(kāi)發(fā)的過(guò)程中發(fā)現(xiàn)圣蝎,向localmachine 中的software節(jié)點(diǎn)寫(xiě)入子項(xiàng)刃宵,雖然成功寫(xiě)入,但是寫(xiě)入位置是localmacchine/software/wow6432node路徑徘公,這是因?yàn)橄到y(tǒng)對(duì)于X86和64平臺(tái)的兼容性考慮牲证,在運(yùn)行時(shí)系統(tǒng)會(huì)自動(dòng)轉(zhuǎn)換,所以我們需要在項(xiàng)目設(shè)置-生成-平臺(tái)選擇64位关面,程序就會(huì)向正確的路徑寫(xiě)入坦袍,同時(shí)我們也可以增加機(jī)器平臺(tái)判斷,來(lái)阻止用戶運(yùn)行
 bool MachineType = Environment.Is64BitProcess;
            if (!MachineType)
            {
                MessageBox.Show("本軟件在32位操作系統(tǒng)上無(wú)法使用等太,請(qǐng)使用64位操作系統(tǒng)","錯(cuò)誤",MessageBoxButtons.OK,MessageBoxIcon.Error);
                Application.Exit();
            }

以上使用的是Environment.Is64BitProcess方法來(lái)判斷是否是64位的機(jī)器

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末捂齐,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子缩抡,更是在濱河造成了極大的恐慌奠宜,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,482評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件瞻想,死亡現(xiàn)場(chǎng)離奇詭異压真,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)蘑险,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,377評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén)滴肿,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人佃迄,你說(shuō)我怎么就攤上這事泼差。” “怎么了和屎?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,762評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵拴驮,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我柴信,道長(zhǎng),這世上最難降的妖魔是什么宽气? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,273評(píng)論 1 279
  • 正文 為了忘掉前任随常,我火速辦了婚禮,結(jié)果婚禮上萄涯,老公的妹妹穿的比我還像新娘绪氛。我一直安慰自己,他們只是感情好涝影,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,289評(píng)論 5 373
  • 文/花漫 我一把揭開(kāi)白布枣察。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪序目。 梳的紋絲不亂的頭發(fā)上臂痕,一...
    開(kāi)封第一講書(shū)人閱讀 49,046評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音猿涨,去河邊找鬼握童。 笑死,一個(gè)胖子當(dāng)著我的面吹牛叛赚,可吹牛的內(nèi)容都是我干的澡绩。 我是一名探鬼主播,決...
    沈念sama閱讀 38,351評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼俺附,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼肥卡!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起事镣,我...
    開(kāi)封第一講書(shū)人閱讀 36,988評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤召调,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后蛮浑,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體唠叛,經(jīng)...
    沈念sama閱讀 43,476評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,948評(píng)論 2 324
  • 正文 我和宋清朗相戀三年沮稚,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了艺沼。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,064評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡蕴掏,死狀恐怖障般,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情盛杰,我是刑警寧澤挽荡,帶...
    沈念sama閱讀 33,712評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站即供,受9級(jí)特大地震影響定拟,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜逗嫡,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,261評(píng)論 3 307
  • 文/蒙蒙 一青自、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧驱证,春花似錦延窜、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,264評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)荠藤。三九已至,卻和暖如春获高,著一層夾襖步出監(jiān)牢的瞬間哈肖,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,486評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工谋减, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留牡彻,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,511評(píng)論 2 354
  • 正文 我出身青樓出爹,卻偏偏與公主長(zhǎng)得像庄吼,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子严就,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,802評(píng)論 2 345