有没有办法直接在记事本窗口中显示内存中的内容?

有帮助吗?

解决方案

在文件

双击,确保该协会设定为记事本。

如果你想记事本显示它没有它保存到磁盘,你可以打开记事本的一个实例,得到句柄窗口,然后直接写的文字到那里。您将需要使用Windows用户API来做到这一点。

其他提示

我假设我明白你的问题。如果该文件在计算机上已经存在,你可以执行以下语句:

System.Diagnostics.Process.Start( "notepad.exe", "[PATH]\[FILE].txt");

如果没有,那么在本地保存文件,然后运行上面的代码。

完成此操作的最简单方法是保存文件并在记事本中打开它,但是至少还有两种其他方法。

  1. 打开记事本,然后将所需内容复制到剪贴板,然后使用 DDE 强制记事本粘贴。这很糟糕,因为它可能会覆盖用户可能在剪贴板中执行的操作。
  2. 第二种方法涉及获取记事本编辑控件的窗口句柄,然后对该窗口执行 WM_SETTEXT。但是,这不能跨越权限边界(例如,对于以管理员身份运行的应用程序,但记事本以普通用户身份运行)。这还涉及深入到本机级别并执行 P/Invokes。这不完全是一个简单的方法。

坦率地说,最简单的方法是将其保存到文件中并加载它。

为什么你需要的记事本显示一些内容(这是在内存中)?

如果你正在使用的WinForms,你可以把它放在一个文本框。点击 对不起,如果我没有理解错你的问题。

我想补充到MrEdmundo的回答是,的独立存储是存储临时txt文件的正确的地方为记事本。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top