Articles of 文件关联

使用Java 1.5打开文件的跨平台方法

我正在使用Java 1.5,我想启动关联的应用程序来打开文件。 我知道Java 1.6引入了桌面API ,但是我需要Java 1.5的解决scheme。 到目前为止,我在Windows中find了一个方法: Runtime.getRuntime().exec(new String[]{ "rundll32", "url.dll,FileProtocolHandler", fileName }); 是否有跨平台的方式来做到这一点? 或者至less有一个类似的Linux解决scheme?

Windows不会将命令行parameter passing给从shell执行的Python程序

如果我试图直接从Windows命令行执行它们作为可执行命令,那么我无法获得传递给Python程序的命令行参数。 例如,如果我有这个程序(test.py): import sys print "Args: %r" % sys.argv[1:] 并执行: >test foo Args: [] 相比于: >python test.py foo Args: ['foo'] 我的configuration有: PATH=…;C:\python25;… PATHEXT=…;.PY;…. >assoc .py .py=Python.File >ftype | grep Python Python.CompiledFile="C:\Python25\python.exe" "%1" %* Python.File="C:\Python25\python.exe" "%1" %* Python.NoConFile="C:\Python25\pythonw.exe" "%1" %*

如何使用Delphi获取与文件扩展名关联的程序的名称?

我需要获取当前与当前用户的文件扩展名关联的程序的名称。 如果你右键点击一个文件并select属性,那么我需要的是“Opens with”行右边的程序名。 例如,对于“.xls”,我希望能够得到答案“Microsoft Office Excel”,或用户使用其默认程序打开.xls文件的任何程序。 我已经确定它不像进入HKEY_CLASSES_ROOT并挑选它,因为它也可以在HKEY_LOCAL_MACHINE或HKEY_CURRENT_USER或HKEY_USERS中指定。 也许我需要知道的是Windows使用的啄食顺序来确定这个以及如何到达每个位置。 当然,一个Windows API调用来做到这一点是理想的。 这是一个类似的问题: 如何从文件扩展名使用Delphi获取图标和描述? 但是这个问题只回答了如何得到相关程序的扩展名和图标的描述。 我无法find一种方法来扩展,以获得相关的程序的名称。 我使用的是Delphi 2009,需要一个适用于Windows XP,Vista和7的解决scheme。 谢谢大家的答案。 看来我相信,可执行文件的名字毕竟不在registry中。 而广泛的四处寻找一个Windows API的名称,我找不到。 我认为Mef的答案是最好的。 从程序可执行文件中包含的信息中获取可执行文件的名称。

如何在C#中获取与文件扩展名相关的推荐程序

我想要获得与文件扩展名关联的程序的path,最好是通过Win32 API。 出现在“打开方式”菜单项目中的程序列表 显示为“打开方式…”对话框中推荐的程序列表。 UPD: 假设我在我的机器上安装了office11和office12,对于.xls的默认程序是office 11.如果看一下HKEY_CLASSES_ROOT \ Excel.Sheet.8 \ shell \ Open \ command有一个office11 excel.exe的path,但是当我右键点击文件,我可以在Open With menu项中selectoffice12。 那么这个关联存储在哪里? 我正在使用C#。 谢谢。

如何在尝试Process.Start()之前以编程方式检查文件是否存在文件关联?

我的.Net Windows窗体应用程序生成一个PDF报告,我想要显示给用户。 而不是假设客户端电脑安装了PDF查看器,并盲目地将PDF在操作系统上打开, 是否有办法检查客户端上的文件关联列表 ,然后显示“ 您需要一个PDF查看器应用程序安装 – 这里有几个build议.. “对话框,如果PDF不是注册types? 我发现了许多关于更改或注册文件关联的问题和答案,但我只是想简单地查询列表,而不是更改它。 我想要一个适用于Windows XP以上的解决scheme(WinXP,Vista,Win7)。 谢谢你的帮助

临时文件关联为单个cmd.exe会话

我需要为.py文件设置关联,以使用特定的python版本执行。 但是我只需要为单个cmd.exe会话创build这个关联(并行会话不应该受到影响)。 Windows允许这个吗? 我怀疑答案是否定的,但我希望看到一些certificate之前,抛出这个想法到virtualenv这样的function。

从命令行运行Python脚本将在默认文本编辑器中打开脚本,而不是执行脚本

我有与Python解释器相关联的.py扩展名的文件。 但是,当我在命令行中键入这样的文件的名称,然后按ENTER在默认文本编辑器(Notepad ++)中打开文件,而不是与关联的Python解释器运行。 为什么? Z:\1>where python c:\Program Files\Python\2.7\python.exe Z:\1>reg query HKCR\.py /ve HKEY_CLASSES_ROOT\.py (Default) REG_SZ Python.File Z:\1>reg query HKCR\Python.File\shell\open\command /ve HKEY_CLASSES_ROOT\Python.File\shell\open\command (Default) REG_SZ c:\Program Files\Python\2.7\python.exe "%1" %* Z:\1>echo %PATHEXT% .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC;.PY;.PYW Z:\1>type a.py from __future__ import print_function; import sys; print(sys.executable); print(sys.version) Z:\1>a.py <— this opens a.py in the default text editor 我在Windows Vista x64上使用Python 2.7.3 (default, […]

使用Java应用程序作为特定文件types的默认程序?

我创build了一个使用Java的文本编辑器,并使用Netbeans将它打包成一个jar文件。 现在我创build了一个文本文件,扩展名为“.text”。 我在Windows 7上,所以使用它的属性窗口,我改变了默认的开放程序到我的文本编辑器的jar文件。 现在,当我用“.text”扩展名双击文件时,窗口显示一个对话框,说“{文件名}不是有效的win32应用程序”。 请帮我解决 谢谢。

有没有可能从batch file启动文件的默认编辑器?

背景: 我们可以使用PATHEXT和Windows文件关联的组合来执行命令提示符等同于右键单击资源pipe理器中的文件并单击打开 ,例如: C:\code\python> echo print "Hello, StackOverflow!" >hello.py C:\code\python> hello Hello, StackOverflow! 同样,我可以通过键入以下命令启动Photoshop : C:\art\source> StackOverflowLogo.PDF 实际问题: 我需要相当于在资源pipe理器中右键单击该文件的命令提示符,然后select编辑 。 用我上面的hello(.py),可能会引起Python的空闲编辑器。 但是,我需要一个通用的解决scheme,使用操作系统级别的关联作为文件types。 我无法承担。 我想要做的最简单的例子就是这个假设的EDIT.BAT文件,它除了启动给定文件名的编辑器外什么也不做。 @InsertMagic /Here %1 谢谢! (我希望。) Aaand …解决scheme: Alex K.build议Powershell,这当然是一个很好的解决scheme。 所以要写我的EDIT.BAT上面,我可以这样做: @powershell -command "start -verb edit '%1'" (这有点幼稚,因为有潜在的引用问题,但你明白了。) 欢呼快速的答案。 🙂

如何使用Delphi从文件扩展名中获取图标和描述?

基本上我有一个TcxGrid这将列出各种文件的名称,我想进一步的细节基础上的文件扩展名,特别是它的描述(例如.PDF它是“Adobe Acrobat文档”)和它的相关图标。 我注意到已经有一个非常类似的问题,但它是C#相关的,我想要一些基于Delphi的东西。 build议在哪里寻找这种信息将是很好的,如果有一个类似于上面提到的C#职位(显然是在Delphi中),这将是伟大的。