<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      應(yīng)用程序取得當(dāng)前目錄和退出

      如題c#獲取當(dāng)前運(yùn)行應(yīng)用程序所在目錄和退出

      前言

      現(xiàn)在這浮躁社會(huì),領(lǐng)導(dǎo)都是拍腦袋,大家都是圖個(gè)短平快,壓力進(jìn)度給著,迫不得已在這種環(huán)境下大家都只能以搬磚的態(tài)度對(duì)待工作,都是用搜索引擎找 然后到處抄代碼對(duì)吧。找了一片的方法,有AppDomain.CurrentDomain.BaseDirectory,有返回當(dāng)前應(yīng)用程序的根目錄System.Reflection.Assembly.GetExecutingAssembly().Location回當(dāng)前執(zhí)行的程序集的路徑。Application.ExecutablePath Application.StartupPath甚至我還知道其他方式。你還別說,嘿。。。。。抄了一片代碼來試試,還都可以運(yùn)行能夠達(dá)到效果。

      1 //通過assembly
      2 //得到exe文件完整路徑
      3 string appPath2 = System.Reflection.Assembly.GetExecutingAssembly().Location;
      4 //得到exe文件所在目錄
      5 string appPath1 = System.AppDomain.CurrentDomain.BaseDirectory;

      進(jìn)程方式訪問

      1 //可取到主窗體標(biāo)題
      2  var mainwindowTitle = Process.GetCurrentProcess().MainWindowTitle;
      3 //注意,,這種方式取不到exe文件路徑
      4 var appPath5 = Process.GetCurrentProcess().StartInfo.FileName;
      5 //這種方式可獲取當(dāng)前進(jìn)程的 exe文件完整路徑
      6 var appPath6 = Process.GetCurrentProcess().MainModule.FileName;

       

      概念梳理

      本身有幾個(gè)概念請(qǐng)大家認(rèn)識(shí)清楚。我們本身運(yùn)行的exe那一堆東西 叫應(yīng)用程序集 也叫Assembly 也叫進(jìn)程 Process 都是一個(gè)意思,東西是一個(gè)東西,但是概念上是不同的。還有注意上面的代碼獲取exe執(zhí)行程序路徑的

      1 string appPath2 = System.Reflection.Assembly.GetExecutingAssembly().Location;
      2 var appPath6 = Process.GetCurrentProcess().MainModule.FileName;

      本意概念都是“主運(yùn)行模塊”的文件的路徑,因?yàn)榇a有可能不是直接從你這運(yùn)行的有可能從其他地方加載的。

      • Assembly從意義上強(qiáng)調(diào)被調(diào)用的那一坨exe或者dll其內(nèi)部的功能和方法元數(shù)據(jù)定義。
      • Process 本質(zhì)是 當(dāng)前的if else 判斷 改變量 這堆狀態(tài)機(jī)代碼 在 哪個(gè)進(jìn)程執(zhí)行。從意義上強(qiáng)調(diào)被操作系統(tǒng)調(diào)度的應(yīng)用程序進(jìn)程及收操作系統(tǒng)管控的那塊內(nèi)存區(qū)域。

      我們都稱之為運(yùn)行的"東西",應(yīng)用程序?qū)ο?,我們知道vc++里有 application。

      1 int CMFCh11App::ExitInstance()
      2 {
      3     //TODO: 處理可能已添加的附加資源
      4     AfxOleTerm(FALSE);
      5 
      6     return CWinApp::ExitInstance();
      7 }

      這些東西自己稱自己為 為"application"于是乎我們?cè)赪inform里可以找到有Winform的application。

      1 //得到exe文件完整路徑
      2 string appPath3 = System.Windows.Forms.Application.ExecutablePath;
      3 //得到exe文件所在目錄
      4 string appPath4 = System.Windows.Forms.Application.StartupPath;

      在wpf里可以找到有wpf的application,注意wpf的application取不到所運(yùn)行的exe所在目錄。

      1 string appstr = Application.Current.MainWindow.ToString();

      回歸本質(zhì)概念

      而這個(gè)東西本質(zhì)就應(yīng)該是天然的 操作系統(tǒng)應(yīng)該給到應(yīng)用程序級(jí)的信息 ,應(yīng)用程序應(yīng)該天然的知道自己從哪里啟動(dòng)的,事情的本質(zhì) ,嗯 不錯(cuò) 又回歸到事情的本質(zhì)。我們進(jìn)行文件接口操作不是 Directory 嗎 ,我們寫文件時(shí)不是./" 目錄 就是寫到當(dāng)前應(yīng)用程序目錄嗎 ,這個(gè)東西不應(yīng)該本身就是天然的嗎。是的。

      1 DirectoryInfo dir = new DirectoryInfo("./");
      2 //輸出d:\xxx\
      3 Console.WriteLine(dir.FullName);
      4 //輸出d:\xxx
      5 Console.WriteLine(Directory.GetCurrentDirectory());

      注意這個(gè)結(jié)尾,多一個(gè)斜杠在Path.Combine( ) 的時(shí)候會(huì)出幺蛾子。

      關(guān)于應(yīng)用程序的退出

      應(yīng)用程序如何退出,想想我們?yōu)槭裁幢唤凶龀绦騿T,不就是編寫流水線作業(yè)的么。沒那么高大上。計(jì)算機(jī)運(yùn)轉(zhuǎn)需要連續(xù)不斷的喂指令。想想在dos時(shí)代或者單片機(jī)上編程,當(dāng)沒有指令喂的時(shí)候可不就自然結(jié)束了么,要啥特別操作,你說要啥操作根本不需要。

      1 class Program
      2 {
      3     static void Main(string[] args)
      4     {
      5         Console.WriteLine("aaa");
      6         //到此處應(yīng)用程序就結(jié)束了
      7     }
      8 }

      好,你非要鉆牛角非要說中途退出,你中途return不就得了,或者可以

      1 Environment.Exit(0);

      所以說dos程序根本沒有“不知道自己何時(shí)退出”這個(gè)概念哈,只有圖形化界面才“不知道自己何時(shí)退出”因?yàn)榇绑w自己本身在一個(gè)死循環(huán)周期里通過Windows消息機(jī)制在維持。

      winform退出

      1 System.Windows.Forms.Application.Exit();

      wpf退出

      1 System.Windows.Application.Current.Shutdown(0);

      由于最開始的時(shí)候只有winform支持后來又添加了wpf,可以在命名空間上看得出來在整個(gè).NetFramework實(shí)際功能和概念上有很多重疊的地方。

       

      posted @ 2025-01-26 14:31  assassinx  閱讀(371)  評(píng)論(0)    收藏  舉報(bào)
      主站蜘蛛池模板: 在线国产毛片| 亚洲一卡2卡3卡4卡精品| 色 亚洲 日韩 国产 综合| 污污内射在线观看一区二区少妇| 欧美成人午夜精品免费福利| 国产精品天干天干综合网| 双乳奶水饱满少妇呻吟免费看| 久热这里有精品视频在线| 国产福利午夜十八禁久久| 色欲国产精品一区成人精品| 天堂www在线中文| 久久精品国产99国产精品澳门 | 成人网站免费观看永久视频下载| 久久精品国产亚洲精品色婷婷 | 国产成人精品视频不卡| 亚洲精品国产aⅴ成拍色拍| 国产高清在线男人的天堂 | 欧美偷窥清纯综合图区| 无码中文字幕av免费放| 无码囯产精品一区二区免费| 亚洲国产亚洲综合在线尤物| 国产精品午夜精品福利| 国产精品中出一区二区三区| 少妇久久久被弄到高潮| 庆安县| 熟女蜜臀av麻豆一区二区| 精品亚洲国产成人性色av| 少妇粗大进出白浆嘿嘿视频| 精品少妇人妻av无码久久| 4虎四虎永久在线精品免费| 91精品国产老熟女在线| 亚洲AV日韩AV永久无码电影| 成人麻豆日韩在无码视频| 暖暖影院日本高清...免费| 亚洲中文字幕精品一区二区三区 | 国产自拍偷拍视频在线观看| 国产欧美日韩高清在线不卡| 久久午夜电影网| 偷拍美女厕所尿尿嘘嘘小便| 开心五月激情综合久久爱| 无码精品人妻一区二区三区中|