C#實現(xiàn)txt定位指定行完整實例
更新時間:2015年08月21日 12:30:59 作者:我心依舊
這篇文章主要介紹了C#實現(xiàn)txt定位指定行的方法,涉及C#針對文本文件進行光標定位的技巧,具有一定參考借鑒價值,需要的朋友可以參考下
本文實例講述了C#實現(xiàn)txt定位指定行的方法。分享給大家供大家參考。具體實現(xiàn)方法如下:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Diagnostics; using System.IO; using System.Runtime.InteropServices; namespace WfpApp { class PositionNotepad { [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> public static bool PositionNotePad(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); //等一秒,等文本打開,焦點去到notepad p.WaitForInputIdle(1000); 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; } } }
調(diào)用:
string path = @"C:\Users\ZKK\Desktop\English.txt"; bool res = PositionNotepad.PositionNotePad(path, "5");
希望本文所述對大家的C#程序設計有所幫助。
相關文章
C#數(shù)據(jù)類型實現(xiàn)背包、隊列和棧
本文詳細講解了C#數(shù)據(jù)結構類型,并實現(xiàn)背包、隊列和棧的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-04-04C#使用Gembox.SpreadSheet向Excel寫入數(shù)據(jù)及圖表的實例
下面小編就為大家分享一篇C#使用Gembox.SpreadSheet向Excel寫入數(shù)據(jù)及圖表的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2017-12-12C#使用NPOI將List數(shù)據(jù)導出到Excel文檔
這篇文章主要為大家詳細介紹了C#使用NPOI將List數(shù)據(jù)導出到Excel文檔,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-02-02C#設計模式之Builder生成器模式解決帶老婆配置電腦問題實例
這篇文章主要介紹了C#設計模式之Builder生成器模式解決帶老婆配置電腦問題,簡單介紹了生成器模式的概念、功能并結合具體實例形式分析了C#生成器模式解決配電腦問題的步驟與相關操作技巧,需要的朋友可以參考下2017-09-09