none
C#程式的一個問題,有關於開啟檔案的問題 RRS feed

  • 問題

  • 如題,就是假設我自己用C#做出了一個簡易版的文字編輯器
    然後把*.txt用我自己寫的程式當作預設開啟
    然後對*.txt點兩下後去開啟我自己寫的程式
    要怎麼讓程式可以讀取到我要開啟的那個檔案的位置
    2010年3月3日 上午 01:09

解答

  • 一般是註冊到檔案總管會由檔案總管送出:
    你的程式 檔名路徑

    所以處理命令列引數即可。


    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    2010年3月3日 上午 01:44
  • hi,
    如同心冷大說的,在程式啟動的地方
    static void Main(string[] args)
    那個args就可以接到要開啟的路徑。
    My Blog:http://www.dotblogs.com.tw/alonstar
    解決問題之後,別忘了回到論壇把正確回應標示成解答哦!
    2010年3月3日 上午 01:56
  • C#程式的啟動點預設是在 program.cs , 這邊就有  static void Main
    MSDN 文件庫很重要
    問題本身越具體, 越容易得到大家的回應
    回應幫助你的人是一種禮貌, 良好的禮貌有助於激發大家對你問題回應的熱情
    2010年3月3日 上午 03:11
    版主
  • Singleton application in C# with redirection of arguments.


    Single-Instance C# Application - for .NET 2.0


    是這個嗎...
    2010年3月3日 下午 02:30

所有回覆

  • 一般是註冊到檔案總管會由檔案總管送出:
    你的程式 檔名路徑

    所以處理命令列引數即可。


    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    2010年3月3日 上午 01:44
  • hi,
    如同心冷大說的,在程式啟動的地方
    static void Main(string[] args)
    那個args就可以接到要開啟的路徑。
    My Blog:http://www.dotblogs.com.tw/alonstar
    解決問題之後,別忘了回到論壇把正確回應標示成解答哦!
    2010年3月3日 上午 01:56
  • HI,

    您可以在註冊檔案類型時指定處理該類型檔案的應用程式名稱, 請參考:
    System File Association(http://www.codeproject.com/KB/dotnet/System_File_Association.aspx)
    2010年3月3日 上午 02:26
  • 請問一下 因為我是做Windows Form應用程式,所以我原本想說在Form1_Load的事件中去處理是否是用檔案來開啟我的應用程式,可是在Form1_Load的編輯中我沒有args這個參數可以讀取。
    請問應該要怎麼做呢?謝謝
    2010年3月3日 上午 02:49
  • C#程式的啟動點預設是在 program.cs , 這邊就有  static void Main
    MSDN 文件庫很重要
    問題本身越具體, 越容易得到大家的回應
    回應幫助你的人是一種禮貌, 良好的禮貌有助於激發大家對你問題回應的熱情
    2010年3月3日 上午 03:11
    版主
  • 現在 我的程式碼片段
    Program.cs
    namespace MPlayer
    {
        static class Program
        {
            static Mutex appMutex;
            /// <summary>
            /// 應用程式的主要進入點。
            /// </summary>
            /// 
            [STAThread]
            static void Main(string[] args)
            {
               
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
                Application.Run(new Form1(args));
            }
        }
    }

    Form1.cs
    namespace MPlayer
    {
        public partial class Form1 : Form
        {
            public Form1(string[] args)
            {
                nargs = args;  //nargs在某個地方已經有宣告了
                InitializeComponent();
            }
            private void Form1_Load(object sender, EventArgs e)
            {
                foreach (String a in nargs)
                {
                    
                    richTextBox1.AppendText(a);
                }
            }
        }
    }

    這樣子我就從MAIN中args移到了Form1_Load中使用了

    但是現在還有個疑問,當我同時開兩個音樂檔的時候,(PS  主要是我現在想自己做一個簡易的播放器)
    要如何讓我的播放器執行檔只開啟一個,而且兩個檔案可以在列表中顯示。
    我目前的程式會變成開兩個執行檔,也就是兩個音樂檔個開一個程式
    2010年3月3日 下午 02:05
  • Singleton application in C# with redirection of arguments.


    Single-Instance C# Application - for .NET 2.0


    是這個嗎...
    2010年3月3日 下午 02:30