Specifying a relative path

前端 未结 4 884
孤城傲影
孤城傲影 2021-01-13 07:20

I have a windows forms project. In the current directory I have a Help folder with *.chm files. What is the easiest way to launch them from the application? How can I specif

4条回答
  •  温柔的废话
    2021-01-13 07:49

    The Environment.CurrentDirectory property will be set to the location of your .exe file. So if you place your help folder in there, it will be:

    // The path to the Help folder.
    string directory = Path.Combine(Environment.CurrentDirectory, "Help"); 
    
    // The path to the Help file.
    string filePath = Path.Combine(directory , "myHelpFile.chm"); 
    
    // Launch the Help file.
    Process.Start(filePath); 
    

    EDIT: I should say, that Environment.CurrentDirectory points to the folder where the process started by default in a Windows Forms application, but its value can be changed by some controls (like the OpenFileDialog - see here for a workaround) during the lifetime of your application. Under a Windows Service, Environment.CurrentDirectory maps to the %SystemDirectory%.

提交回复
热议问题