问题标签 [file-association]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 如何以编程方式创建适用于 XP、Vista 和 Windows 7 的文件关联
我希望能够从我的程序中注册我的文件扩展名。(将文件类型与我的程序相关联)
有很多关于此的文章,但据我所知,所讨论的技术(修改注册表)仅适用于 Windows XP。
将文件类型与程序相关联以便它在 XP、Vista 和 Windows 7 下也能工作的最佳方法是什么?(是否有任何工作代码示例?)
ClickOnce 将是一个选项,但这仅在安装时注册文件类型,而我希望能够在运行时注册文件类型。
c# - 有没有一种简单的方法可以通过 C# 中的扩展名来确定文件是什么?
有没有一种简单的方法可以通过 C# 中的扩展名来确定文件是什么?例如,如果我传递“.txt”的文件扩展名,那么它将返回“文本文档”,或者如果我传递“.pdf”,它将返回“Adobe Acrobat Reader”。我在 Windows 资源管理器的“类型”列下看到了这种行为。有没有办法在 C# 中模仿这个?
.net - ClickOnce 应用程序不会通过 Process.Start("x.abc") 启动,其中 *.abc 与 ClickOnce 应用程序关联
我已经成功开发并部署了一个 ClickOnce 应用程序,它注册了一个关联的文件扩展名,例如*.abc
. 当我单击一个名为的文件x.abc
或x.abc
从命令提示符键入时,ClickOnce 应用程序将启动,我可以通过专用 API 检索该文件。我还可以使用以下代码以编程方式启动应用程序:
在我的 Windows Vista 64 位机器上一切正常。
但是,如果我尝试在 Windows 7(也是 64 位)上做同样的事情,我会遇到一个非常奇怪的问题。这是我观察到的:
x.abc
通过在资源管理器中双击它来手动启动。x.abc
从命令提示符手动启动有效。Process.Start("x.abc")
不启动应用程序;但是,返回的进程对象显示没有错误,并且 ClickOnce 应用程序以某种方式立即退出。但即使是Trace
在 ClickOnce 应用程序最开始的时候,也永远无法到达。- 更奇怪的是,包含单行
Process.Start("x.bat")
的文件也不会启动 ClickOnce 应用程序!同样从 Explorer 作品开始(当然)。x.bat
x.abc
x.bat
尝试分析发生的情况ProcMon
并不是很有帮助,因为在我看来,启动应用程序的 ClickOnce 过程很难遵循。我观察rundll32
开始工作,但没有任何失败的证据。
正在执行的程序Process.Start
是一个完全信任的控制台应用程序,没有什么花哨的。
我看不出在 Windows 7 上如何处理 ClickOnce 应用程序方面发生了什么变化,以及为什么Process.Start
不与从资源管理器启动文件完全相同。值得一提的是,使用更高级版本的Start
方法 withProcessStartInfo
和设置UseShellExecute
totrue
也无济于事。
从开始cmd
然后Process.Start
尝试启动x.abc
显示完全相同的问题。如果我将环境设置与cmd
手动启动进行比较,我会看到ProgramFiles
定义方式的差异(第一个指向C:\Program Files (x86)
而第二个指向C:\Program Files
)。从我的 .NET 应用程序启动的应用程序在 32 位仿真层 (SysWoW64) 上启动。
我能够x.abc
通过启动 32 位版本的命令提示符(即%windir%\SysWoW64\cmd.exe
)然后x.abc
在提示符处键入来重现启动失败。我还发现了一个丑陋的解决方法,即通过启动%windir%\Sysnative\cmd.exe /C x.abc
而不是x.abc
.
但我宁愿使用一种干净的方式来做这件事(或者让 Microsoft 代表告诉我这确实是 Windows 7 和/或 ClickOncce 的问题,并且很快就会修复)。
c# - 关联文件类型和图标
好的,我已经看遍了,我很难弄清楚如何将自定义文件类型与我的 C# 应用程序相关联。我正在使用 Visual Studio 2008,并且由于公司部署而仅限于 .NET 2.0。
基本上我真正想做的就是能够允许用户双击我的自定义文件类型或将其拖放到应用程序图标上并加载数据,并在文件本身上显示自定义图标。我可以通过对话框打开文件,一切正常。
尝试阅读 Micosoft 的在线文档很难理解,并且并没有真正提供我需要的所有详细信息。如果有人知道我可以在哪里找到一个好的教程或可以解释它,我将不胜感激。
谢谢帕特里克
python - 如何在 Windows 中执行 Python 脚本?
我有一个简单的脚本 blah.py(使用 Python 2):
如果我通过以下方式执行我的脚本:
它打印参数,但如果我通过以下方式执行脚本:
发生错误:
索引错误...
所以参数不会传递给脚本。
PATH 中的 python.exe。带有 blah.py 的文件夹也在 PATH 中。
python.exe 是执行 *.py 文件的默认程序。
问题是什么?
visual-studio-2008 - Visual Studio 在记事本中打开 .xml 文件
所以今天早上我很高兴从事一个大量使用自定义 .xml 配置文件的项目。
突然之间,每当我在解决方案资源管理器中双击一个 .xml 文件时,它就会在记事本中打开,而不是在 Visual Studio 中打开。
认为这是 Windows 文件关联,我在资源管理器中右键单击文件,选择打开方式>>选择默认值,然后选择 Visual Studio 2008。
但是问题仍然存在——现在当我从资源管理器中打开一个文件时,Visual Studio 打开,然后它打开记事本。
不用说,这很令人沮丧,谷歌也帮不上什么忙。有没有其他人遇到过这个问题,你做了什么?
笔记:
ubuntu - 如何在 Ubuntu 中注册文件关联
我正在创建一个 Ubuntu 安装程序,我需要注册我自己的文件扩展名,我找不到任何如何执行此操作的示例。
人们可以为我提供一些有关如何执行此操作的脚本片段吗?
注意:我使用InstallJammer来帮助我创建安装程序,它允许我调用外部脚本 - 所以这就是脚本有益的原因。
java - 在 Java 应用程序中使用文件关联
我正在编写一个跨平台的基于 Swing 的应用程序,我想在其中使用已在操作系统中注册的文件关联。
所以我已经到了可以单击文件并加载我的应用程序的地步,但我需要知道的是如何让我的应用程序知道启动它的文件在哪里,然后查询内容。
我与文件关联注册还有什么关系吗?或者Java可以为我做这件事吗?
vb.net - 如何获取用于启动程序的关联文件的路径?
我有一个具有关联文件类型的程序。但是,当我双击一个文件来启动程序时,我无法弄清楚该路径是在哪里传递给程序的。
最初我以为文件路径会在 Environment.CommandLine 中,但命令行只包含程序路径。
我使用 Visual Studio 中的发布选项指定了文件关联,如下所示:扩展名:.ext,描述:某些文件,ProgId:ProjectName,图标:SomeIcon.ico。
linux - 使用 xdgutils 在 Ubuntu 中创建文件关联图标
我正在使用xdg实用程序尝试将图像与文件关联相关联。
我已经运行了这个命令以及 48,64 和 128 尺寸的等效命令,它们似乎都没有效果。
xdg-icon-resource 安装 --context mimetypes --size 256 image-256.png text-abc
有任何想法吗?
这真是太蹩脚了-但是我已经设法让它工作了一次,我运行了上面的命令,然后我将虚拟机上的网桥从无线更改为有线,这在某种程度上对更改 ubuntu 主题产生了连锁反应(窗口标题从通常的橙色变为蓝色)并且我在桌面上的所有“abc”文件都有我指定的图像。