我想在monodevelop上打开位置文件并在mac,ubuntu上的资源管理器中选择文件。 这段代码适用于windows(不适用于mac和ubuntu):
System.Diagnostics.Process.Start("explorer.exe", "/select, " + fileaddress);
答案 0 :(得分:2)
Dim dir_path As String = "/media/os/test"
' Windows path example: dir_path = "C:\test"
Process.Start("file://" & dir_path)
在Ubuntu和Windows XP上测试并使用过。
答案 1 :(得分:0)
使用Process.Start()
绕过.NET框架并进入您正在运行的平台,执行任意进程。
在Windows上,您要打开Windows资源管理器,在Mac上打开Finder,在Ubuntu上打开简称为文件浏览器。
框架中没有Environment.OpenFileBrowser(string path)
方法,因此你必须让您的程序确定它在哪个平台上运行,并打开批准文件查看器。
答案 2 :(得分:0)
这篇文章有点陈旧,但希望这会有所帮助。
您正在调用特定于操作系统(WinBlows)的方法。那不能成为crossPlatform。
在函数/方法中尝试以下内容:
示例 - 内部点击事件:
protected void OnOpen (object sender, EventArgs e)
{
using(FileChooserDialog chooser = new FileChooserDialog (null,"Select document to open...",
null, FileChooserAction.Open, "Open Selected File", ResponseType.Accept,
"Discard & Return to Main Page", ResponseType.Cancel)) {
if (chooser.Run () == (int)ResponseType.Accept) {
System.IO.StreamReader file = System.IO.File.OpenText (chooser.Filename);
/*Copy the contents to editableTxtView <- This is the Widget Name */
editableTxtView.Buffer.Text = file.ReadToEnd ();
/* If you want to read the file into explorer, thunar, notepad, etc,
* you'll have to research that yourself */
//Close file - - KEEP IT CLEAN - - & deAllocated memory!!
file.Close ();
}
}
}
该文件现已被复制到可编辑的(默认) 或只读(在属性垫中设置)textviewer Gtk Widget。 从那里你应该能够像你选择的那样操纵它。
答案 3 :(得分:0)
您可以使用&#39; 打开&#39;在Mac上,像这样
System.Diagnostics.Process.Start("open", $"-R \"{File_Path_You_Wanna_Select}\"");
这里-R表示显示,在Finder中选择而不是打开。 要查找打开的更多用法,只需在终端中输入打开即可。