C\#txt 지정 줄 을 찾 는 방법 작은 예
[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 를 추가 하고 인용 부 에 추가 해 야 합 니 다.여러분 에 게 도움 이 되 고 여러분 의 조언 도 개선 되 기 를 바 랍 니 다.감사합니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Java 텍스트 파일(.txt .csv)로부터의 입력 java.io.FileReader➊FileReader fr = new FileReader("파일 이름"); ➋Buffered br = BufferedReader(br); ➌String rec; rec = br.readLine(); ➍ fr.clos...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.