CPU占用高达99%, 有代码, 帮忙分析并改进一些, 谢谢了
private void Watch()
{
while(true)
{
int i = this.SearchWindow();
if(i == 4)
break;
}
//thread.Abort();
Application.Exit();
this.Dispose();
this.Close();
}
private int SearchWindow()
{
int retval = 0;
string lpszParentClass = "#32770";
string lpszParentWindow = "本地连接";
string lpszClass = "Edit";
string lpszClass_Submit = "Button";
string lpszName_Submit = "确定";
string text = "";
if(OSLanguage == "CHS")
{
lpszParentWindow = "本地连接";
lpszName_Submit = "确定";
}
else if(OSLanguage == "CHT")
{
lpszParentWindow = "本地鏈接";
lpszName_Submit = "確定";
}
else
{
lpszParentWindow = "Local Connection";
lpszName_Submit = "Submit";
}
IntPtr ParenthWnd = new IntPtr(0);
IntPtr EdithWnd = new IntPtr(0);
ParenthWnd = FindWindow(lpszParentClass,lpszParentWindow);
if (!ParenthWnd.Equals(IntPtr.Zero))
{
//User Name
EdithWnd = FindWindowEx(ParenthWnd,EdithWnd,lpszClass,"");
if (!EdithWnd.Equals(IntPtr.Zero))
{
text = this.tbUserName.Text.Trim();
SendMessage(EdithWnd, WM_SETTEXT, (IntPtr)0, text);
retval ++;
}
//Password
EdithWnd = FindWindowEx(ParenthWnd,EdithWnd,lpszClass,"");
if (!EdithWnd.Equals(IntPtr.Zero))
{
text = this.tbPassword.Text.Trim();
SendMessage(EdithWnd, WM_SETTEXT, (IntPtr)0, text);
retval ++;
}
//Domain
EdithWnd = FindWindowEx(ParenthWnd,EdithWnd,lpszClass,"");
if (!EdithWnd.Equals(IntPtr.Zero))
{
text = this.tbDomain.Text.Trim();
SendMessage(EdithWnd, WM_SETTEXT, (IntPtr)0, text);
retval ++;
}
//Button Click
EdithWnd = FindWindowEx(ParenthWnd,EdithWnd,lpszClass_Submit,lpszName_Submit);
if (!EdithWnd.Equals(IntPtr.Zero))
{
SendMessage(EdithWnd,WM_CLICK,(IntPtr)0,"0");
retval ++;
}
}
return retval;
}