描述:
我想通过编程实现,找到WebDve.Webserver.EXE 的端口号,用于动态调试WEBSERVICE,因为端口号是随机生成的·非常麻烦·每次都要重新设置一次··现在我想通过程序来找到它显示端口号的那个文本框的句柄。通过API getwindowTEXT来找到它的值.目前已经实现的代码如下(本帖在C#板块也有一帖··由于API 知识有限请大家帮帮我C++代码实现就可以了·谢谢··): [DllImport("user32.dll", EntryPoint="GetWindowText")]
public static extern int GetWindowText (int hwnd,StringBuilder lpString,int cch); public Form1()
{
int hwnd =263842;// 文本框的句柄
StringBuilder sb = new StringBuilder(256);
GetWindowText(hwnd, sb, sb.Capacity); MessageBox.Show(sb.ToString()); //显示端口号 //问题所在:句柄无法动态得到,原因 它没有固定窗体类名和标题。只有进程的名称是固定的 }
我想通过编程实现,找到WebDve.Webserver.EXE 的端口号,用于动态调试WEBSERVICE,因为端口号是随机生成的·非常麻烦·每次都要重新设置一次··现在我想通过程序来找到它显示端口号的那个文本框的句柄。通过API getwindowTEXT来找到它的值.目前已经实现的代码如下(本帖在C#板块也有一帖··由于API 知识有限请大家帮帮我C++代码实现就可以了·谢谢··): [DllImport("user32.dll", EntryPoint="GetWindowText")]
public static extern int GetWindowText (int hwnd,StringBuilder lpString,int cch); public Form1()
{
int hwnd =263842;// 文本框的句柄
StringBuilder sb = new StringBuilder(256);
GetWindowText(hwnd, sb, sb.Capacity); MessageBox.Show(sb.ToString()); //显示端口号 //问题所在:句柄无法动态得到,原因 它没有固定窗体类名和标题。只有进程的名称是固定的 }
DWORD num=GetLastError();
if(!win->m_hWnd)
{
MessageBox("Not Find Window!");
}注:CWnd::FindWindow()返回的是一个CWnd对象指针,而非一个HANDLE句柄。