当一个文件是 "opened with" 一个 winforms 应用程序时,我如何让应用程序使用该文件的目录?

When a file is "opened with" a winforms application how do I get the application to use that file's directory?

我能够将我的 .mdb 文件设置为“用”我的 winforms 应用程序“打开”,但这只会打开 winforms 应用程序而不加载文件。通过文件打开应用程序时是否会触发任何事件,让我可以抓取 filename/file-directory 将其加载到我的应用程序中?

更新:

显然这可以为“Windows Store Apps”完成:File "Open with" my Windows Store App

但似乎我的 winforms 项目缺少 package.appxmanifest 来编辑这些设置,我的项目也无法访问 Windows.ApplicationModel.Activation.FileActivatedEventArgsWindows.UI.Xaml.Application.OnFileActivated 此方法所需的 API。

当您 double-click 一个 mdb 文件时,您的应用程序将使用 mdb 文件参数执行。类似于从命令行调用您的应用程序:

> your-app.exe "test.mdb"

您应该在 Main 方法中使用 args

class Program
{
    static void Main(string[] args)
    {
        // check that user provided a file to open
        if (args != null && args.Length > 0)
        {
            var mdbFilePath = args[0];
            // TODO: read the file
        }

        // ...