当一个文件是 "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.FileActivatedEventArgs
和 Windows.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
}
// ...
我能够将我的 .mdb
文件设置为“用”我的 winforms 应用程序“打开”,但这只会打开 winforms 应用程序而不加载文件。通过文件打开应用程序时是否会触发任何事件,让我可以抓取 filename/file-directory 将其加载到我的应用程序中?
更新:
显然这可以为“Windows Store Apps”完成:File "Open with" my Windows Store App
但似乎我的 winforms 项目缺少 package.appxmanifest
来编辑这些设置,我的项目也无法访问 Windows.ApplicationModel.Activation.FileActivatedEventArgs
和 Windows.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
}
// ...