回答
尝试了这一点:
System.IO.File.WriteAllText(@"C:\test.txt", textBox.Text);
System.Diagnostics.Process.Start(@"C:\test.txt");
保存使用File.WriteAllText
到磁盘文件:
File.WriteAllText("path to text file", myTextBox.Text);
然后使用Process.Start
在记事本打开它:
Process.Start("path to notepad.exe", "path to text file");
非常感谢您的回答。 :) –
@碎片 - 我不明白你的问题。当文件在记事本中打开时,它将被锁定。 – Oded
当我这样写你的答案。 string s = txtNum.Text; Process.Start(“notepad.exe”,s); 该文本只出现header.not在记事本中打开。 我错了吗? –
你不需要用这个字符串创建文件。您可以使用P/Invoke来解决您的问题。 NotepadHelper类的
用法:
NotepadHelper.ShowMessage("My message...", "My Title");
NotepadHelper
类代码:
using System;
using System.Runtime.InteropServices;
using System.Diagnostics;
namespace Notepad
{
public static class NotepadHelper
{
[DllImport("user32.dll", EntryPoint = "SetWindowText")]
private static extern int SetWindowText(IntPtr hWnd, string text);
[DllImport("user32.dll", EntryPoint = "FindWindowEx")]
private static extern IntPtr FindWindowEx(IntPtr hwndParent, IntPtr hwndChildAfter, string lpszClass, string lpszWindow);
[DllImport("User32.dll", EntryPoint = "SendMessage")]
private static extern int SendMessage(IntPtr hWnd, int uMsg, int wParam, string lParam);
public static void ShowMessage(string message = null, string title = null)
{
Process notepad = Process.Start(new ProcessStartInfo("notepad.exe"));
if (notepad != null)
{
notepad.WaitForInputIdle();
if (!string.IsNullOrEmpty(title))
SetWindowText(notepad.MainWindowHandle, title);
if (!string.IsNullOrEmpty(message))
{
IntPtr child = FindWindowEx(notepad.MainWindowHandle, new IntPtr(0), "Edit", null);
SendMessage(child, 0x000C, 0, message);
}
}
}
}
}
参考文献(pinvoke.net和msdn.microsoft.com):
这是更干净的做事方式。不要将垃圾数据留在磁盘上。 – Oybek
@kmatyaszek看起来您的参考链接已损坏,或者网站已关闭?如果可能,你介意更新它们吗? –
@Shredder网站pinvoke.net是在线,但我也添加了对msdn网站的引用。 – kmatyaszek
- 1. 如何在记事本或记事本++中打开VBA文件
- 2. 如何启动记事本++在空中打开文本文件?
- 3. 如何在java中的记事本中打开.log文件?
- 4. 在MFC中的记事本中打开文本
- 5. 检查是否在记事本中打开文本文件
- 6. 在记事本中以文本文件格式打开资源
- 7. 打开记事本
- 8. 如何在Windows PowerShell中打开记事本++ python文件?
- 9. 如何用C++在记事本++中打开文件?
- 10. 如何在java中打开记事本文件?
- 11. 打开记事本,在Silverlight中粘贴文本
- 12. 在Webkit .NET中打开本地文件
- 13. 在c中用记事本++阅读的打开文件#
- 14. 在记事本中打开的.pl文件
- 15. 如何在记事本++中打开整个Rails应用程序
- 16. 如何通过按钮在c#中打开记事本
- 17. 如何在批处理文件中用记事本打开文件
- 18. SQL Management Studio Express在记事本中打开SQL脚本
- 19. 从程序在记事本++中打开Python文件
- 20. 在记事本中打开VS2010 cs文件
- 21. 使用Python获取在记事本中打开哪个文件
- 22. C#双击文件在记事本标签中打开
- 23. 在网络浏览器中打开记事本文件
- 24. Powershell dot sourcing在记事本中打开文件
- 25. 使用VB.net在记事本++中打开多个TXT文件
- 26. 使用VBA在记事本中打开.tbl文件
- 27. 如何导入在记事本中打开的.xls文件都是html? vb.net
- 28. 无法通过JavaScript函数在记事本中打开文本文件
- 29. 将文本行粘贴到记事本中(如果用户打开它的话)
- 30. 在Excel和记事本中打开CSV格式的文本格式编号
是的,不要强制使用具有自己喜欢的文本编辑器的用户的记事本。 –
我从你那里得到了答案。谢谢。 :) –
如果不止一次使用,那么文件会覆盖自身,所以它不会像继续制作新副本一样导致垃圾堆积。在系统临时文件夹中创建路径。 –