【发布时间】:2019-02-25 14:46:30
【问题描述】:
我想打开 Notepad++ 并让它以编程方式从我的应用程序中显示一些未保存的文本。我的第一种方法是保存一个文本文件,然后让 notepad++ 打开它。
Process.Start("notepad++.exe", filename);
但我不想用随机文件向文件系统发送垃圾邮件。当用户编辑打开的文本文件并保存它时,我不想去尝试删除我的应用程序创建的未编辑文件。我认为“打开记事本++,将文本放入其中并完成它”将是最干净的方法。仅供参考:文本不应该回来。这是一种单向交易。
我可以打开 notepad++ 并向系统发送一些击键(例如,将文本发送到剪贴板,在 notepad++ 中按 Ctrl+V)。但这是不干净的,并且依赖于处理良好的窗口聚焦。有没有另一种方法可以让notepad++显示没有文件或文件名的文本?
我试图在记事本++ comand line options 中找到一些东西。而ghost typing 根本不适合我。
编辑:我不想在我的应用程序中进行任何文本编辑。所以它只是向记事本++发送文本。
【问题讨论】:
-
有很多应用程序与您的应用程序一样,例如 FTP/SSH 文件浏览器和许多压缩器。当您选择使用外部编辑器编辑某些文件时,他们会执行某些操作,并且在保存文件时会发回一些通知,以便可以在远程端/存档内部更新文件
-
@phuclv 好的。但我不想复制文件资源管理器或任何东西。该应用程序已完成。我只想改进“向记事本发送文本”这一功能。我在问题中添加了一个 FYI。
-
我不是告诉你你创建了一个资源管理器什么的。我只是举个例子,你可以看看这些应用程序是如何实现该功能的。显然这只是应用程序中的一个简单功能,因为原始应用程序中没有编辑。它只是在外部应用程序中打开一些文件,并告诉操作系统在文件关闭/保存时通知