[英]C# No Arguments Being Passed to Main
我一直在嘗試將參數傳遞給C#中的main方法。 主要是我只想捕獲雙擊的文件路徑。 我的文件帶有自定義擴展名,當它運行時打開我的程序。 那部分起作用。
static string file = "";
[STAThread]
static void Main(string[] args)
{
Application.EnableVisualStyles();
if (args.Length > 0) file = args[0];
Application.Run(new Form1());
}
public Form1()
{
InitializeControls();
}
我也嘗試過這種方式,沒有太大區別。
static string file = "";
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
string[] args = Environment.GetCommandLineArgs();
if (args.Length > 0) file = args[0];
Application.Run(new Form1());
}
public Form1()
{
InitializeControls();
}
值得一提的是,我在部分課程中有這個。 我不知道這是否直接影響到它。
如果我只要雙擊就可以得到文件,那么我並不需要獲取args,但是我覺得那是唯一的方法,現在我很好奇。
我缺少什么使我無法將args傳遞給我的主設備?
如果在命令提示符下運行“ ftype”,則程序類型應顯示為:
YOURTYPE="yourProgram.exe" "%1"
如果"%1"
並非以這種方式出現,則關聯是錯誤的(它不會將文件名作為參數傳遞)。 試試看。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.