如何直接在记事本上显示StreamReader中的内容?
-
23-08-2019 - |
题
有没有办法直接在记事本窗口中显示内存中的内容?
解决方案
在文件
双击,确保该协会设定为记事本。
如果你想记事本显示它没有它保存到磁盘,你可以打开记事本的一个实例,得到句柄窗口,然后直接写的文字到那里。您将需要使用Windows用户API来做到这一点。
其他提示
我假设我明白你的问题。如果该文件在计算机上已经存在,你可以执行以下语句:
System.Diagnostics.Process.Start( "notepad.exe", "[PATH]\[FILE].txt");
如果没有,那么在本地保存文件,然后运行上面的代码。
完成此操作的最简单方法是保存文件并在记事本中打开它,但是至少还有两种其他方法。
- 打开记事本,然后将所需内容复制到剪贴板,然后使用 DDE 强制记事本粘贴。这很糟糕,因为它可能会覆盖用户可能在剪贴板中执行的操作。
- 第二种方法涉及获取记事本编辑控件的窗口句柄,然后对该窗口执行 WM_SETTEXT。但是,这不能跨越权限边界(例如,对于以管理员身份运行的应用程序,但记事本以普通用户身份运行)。这还涉及深入到本机级别并执行 P/Invokes。这不完全是一个简单的方法。
坦率地说,最简单的方法是将其保存到文件中并加载它。
为什么你需要的记事本显示一些内容(这是在内存中)?
如果你正在使用的WinForms,你可以把它放在一个文本框。点击 对不起,如果我没有理解错你的问题。
我想补充到MrEdmundo的回答是,的独立存储是存储临时txt文件的正确的地方为记事本。
不隶属于 StackOverflow