C#定位txt指定行的方法小例子

 更新时间:2020年6月25日 11:42  点击:1396

复制代码 代码如下:

            [DllImport("User32.dll", EntryPoint = "FindWindow")]
            private static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
            [DllImport("user32.dll")]
            static extern IntPtr FindWindowEx(IntPtr hwndParent, IntPtr hwndChildAfter, string lpszClass, string lpszWindow);
            [DllImport("user32.dll")]
            static extern bool SetForegroundWindow(IntPtr hWnd);
            ///<summary>
            /// 定位到txt文件指定行
            ///</summary>
            ///<param name="strFullName">文件路径</param>
            ///<param name="strRow">指定行</param>
            ///<returns>定位是否成功</returns>
            private bool LocateNotePad(string strFullName, string strRow)
            {
                int iRow;
                int.TryParse(strRow, out iRow);
                if (iRow <= 0)
                {
                    return false;
                }
                IntPtr hwnd = FindWindow("Notepad", string.Format("{0} - 记事本", Path.GetFileName(strFullName)));//查看当前文件是否已打开
                if (hwnd.ToInt32() == 0)
                {
                    Process p = Process.Start(@"notepad.exe",strFullName);
                    p.WaitForInputIdle(1000);  //等一秒,等文本打开,焦点去到notepad
                    System.Windows.Forms.SendKeys.SendWait("{DOWN " + (iRow - 1) + "}");
                    System.Windows.Forms.SendKeys.SendWait("{HOME}"); //行首
                    System.Windows.Forms.SendKeys.SendWait("+{END}"); //选中当前行
                    return true;
                }
                else
                {
                    hwnd = FindWindowEx(hwnd, IntPtr.Zero, "Edit", string.Empty);
                    if (hwnd.ToInt32() == 0) return false;
                    else
                    {
                        SetForegroundWindow(hwnd);
                        System.Windows.Forms.SendKeys.SendWait("^{HOME}");//将光标定位到首行
                        System.Windows.Forms.SendKeys.SendWait("{DOWN " + (iRow - 1) + "}"); //
                        System.Windows.Forms.SendKeys.SendWait("{HOME}"); //行首
                        System.Windows.Forms.SendKeys.SendWait("+{END}"); //选中当前行
                    }
                }
                return true;
            }


调用代码 LocateNotePad("D:\\test.txt","3");

代码很简单,通过FindWindow,FindWindowEx,SetForegroundWindow三个API进行获取句柄并设置进程当前以及发送系统命令操作,利用winform中的SendKeys发送键盘命令达到定位的目的.

PS:此命令需要增加 System.Windows.Forms,在引用处添加..希望对各位有帮助,也希望能得到各位朋友的指点改进,谢谢

[!--infotagslink--]

相关文章

  • pycharm实现print输出保存到txt文件

    这篇文章主要介绍了pycharm实现print输出保存到txt文件,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-06-02
  • C#中txt数据写入的几种常见方法

    这篇文章主要给大家介绍了关于C#中txt数据写入的几种常见方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-10-25
  • Python 利用base64库 解码本地txt文本字符串

    这篇文章主要介绍了Python 利用base64库 解码本地txt文本字符串的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-04-09
  • C#读写txt文件的2种方法

    这篇文章主要为大家详细介绍了C#读写txt文本文档数据的2种方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-06-25
  • Oracle 实现将查询结果保存到文本txt中

    这篇文章主要介绍了Oracle 实现将查询结果保存到文本txt中的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-02-07
  • C#实现把txt文本数据快速读取到excel中

    这篇文章主要介绍了C#实现把txt文本数据快速读取到excel中,本文直接给出示例代码,需要的朋友可以参考下...2020-06-25
  • C读txt到二维数组的实现方法

    下面小编就为大家带来一篇C读txt到二维数组的实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2020-04-25
  • python实现npy格式文件转换为txt文件操作

    这篇文章主要介绍了python实现npy格式文件转换为txt文件操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-07-01
  • Python中docx2txt库的使用说明

    这篇文章主要介绍了Python中docx2txt库的使用说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-06
  • C#如何读取Txt大数据并更新到数据库详解

    这篇文章主要给大家介绍了关于C#如何读取Txt大数据并更新到数据库的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用C#具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧...2020-06-25
  • c#.NET 写txt文件小例子

    在.NET里,有时要往TXT文件里写内容,其实很简单。...2021-09-22
  • PyPDF2读取PDF文件内容保存到本地TXT实例

    这篇文章主要介绍了PyPDF2读取PDF文件内容保存到本地TXT实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-05-13
  • Nginx配置txt、pdf、doc、xls等文件直接下载的方法

    这篇文章主要介绍了Nginx配置txt、pdf、doc、xls等文件直接下载的方法,配置方法很简单,本文直接给出配置示例,需要的朋友可以参考下...2016-01-27
  • java读取ftp中TXT文件的案例

    这篇文章主要介绍了java读取ftp中TXT文件的案例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-09-24
  • php实现连接access数据库并转txt写入的方法

    这篇文章主要介绍了php实现连接access数据库并转txt写入的方法,涉及php连接、读取access数据库及写入txt文件的相关操作技巧,需要的朋友可以参考下...2017-02-18
  • asp.net实现从Txt文件读取数据到数据视图的方法

    这篇文章主要介绍了asp.net实现从Txt文件读取数据到数据视图的方法,涉及asp.net针对文本文件的遍历操作与DataView的写入操作相关技巧,需要的朋友可以参考下...2021-09-22
  • nginx关闭favicon.ico、robots.txt日志记录配置

    这篇文章主要介绍了nginx关闭favicon.ico、robots.txt日志记录配置,同时提供了不允许访问某些隐藏文件的配置方法,需要的朋友可以参考下...2016-01-27
  • 站长不要忽视robots.txt的存在

    认识了很多站长,大多数会使用robots.txt文件,只有40%左右的站长不知道robots.txt文件的重要性。当然了,如果你的网站完全没有让搜索引擎教程禁止的内容,可以不用robots.txt...2016-10-10
  • DataTable转成字符串复制到txt文本的小例子

    DataTable转成字符串复制到txt文本的小例子,需要的朋友可以参考一下...2021-09-22
  • C#处理文本文件TXT实例详解

    这篇文章主要介绍了C#处理文本文件TXT的方法,以实例形式详细分析了txt文本文件的读取、修改及打印等功能的实现技巧,需要的朋友可以参考下...2020-06-25