C# 记事本++;插件-读取所有文档';s文本
我正在使用c#模板编写记事本++插件 有人知道如何读取所有当前文档文本,因为我需要将所有文本读取为字符串吗C# 记事本++;插件-读取所有文档';s文本,c#,c++,plugins,notepad++,C#,C++,Plugins,Notepad++,我正在使用c#模板编写记事本++插件 有人知道如何读取所有当前文档文本,因为我需要将所有文本读取为字符串吗 有人知道读取当前文档文本的函数吗?参考斯金特拉API文档应该可以为您指明正确的方向: 您链接的演示项目有一个发送消息的示例。这段代码适用于我,使用您在Notepad++web上找到的演示C#项目: int length = (int) Win32.SendMessage(GetCurrentScintilla(), SciMsg.SCI_GETLENGTH, 0, 0); IntPtr
有人知道读取当前文档文本的函数吗?参考斯金特拉API文档应该可以为您指明正确的方向:
您链接的演示项目有一个发送消息的示例。这段代码适用于我,使用您在Notepad++web上找到的演示C#项目:
int length = (int) Win32.SendMessage(GetCurrentScintilla(), SciMsg.SCI_GETLENGTH, 0, 0);
IntPtr ptrToText = Marshal.AllocHGlobal(length+1);
Win32.SendMessage(GetCurrentScintilla(), SciMsg.SCI_GETTEXT, length, ptrToText);
string textAnsi = Marshal.PtrToStringAnsi(ptrToText);
Console.WriteLine(textAnsi);
Marshal.FreeHGlobal(ptrToText);
< >需要在行的结尾分配额外的字节^ ^ /p>我认为记事本++是用C++编写的,如果我错了请纠正我。你打算从托管代码中调用它的非托管API,并希望我们帮助你编写代码吗?我使用的是你在这里找到的c#模板:脱离主题:自述文件中最顶层的一行写着“忘记这个包的所有以前版本-这是一个全新的方法!”这太可怕了!你能理解我是如何阅读当前文档文本的吗?对不起,我不是编组方面的专家。据我所见,您需要使用导出调用调用Notepad++原生API来调用一些API。在这里添加C++标签可能是个好主意。