有一个限定就是不要使用 windows API,只能使用.NET给我们封装的方法
Process[] ProcessInfo = Process.GetProcessesByName("Ui_DevelopPlatform");
for (int i = 0; i < ProcessInfo.Length; i++)
{
IntPtr h = ProcessInfo[i].MainWindowHandle;
Control controlchild = Form.FromChildHandle(h);
//Control controlchild = Control.FromHandle(h);
//ProcessNotepad[i].Kill();
}
controlchild 这个对像总是空值
IntPtr h = ProcessInfo[i].Handle;
Control controlchild = Form.FromChildHandle(h);
这样不行
IntPtr h = ProcessInfo[i].MainWindowHandle;
Control controlchild = Form.FromHandle(h);
这也不行
不知道该怎么写了。
我问不是怎么实现这个功能
我问的是为什么FromChildHandle不行。是不是那有写的有问题
所以我不使用win API
用spy++看看。是不是你窗口的子窗口。用findwindow获取下
用spy++看看。是不是你窗口的子窗口。用findwindow获取下
ProcessNotepad[i].MainWindowTitle
我可以用这个属性获到这个窗体的标题
我试了一下调用 win API
SetWindowText(h, "asdfsd");
这样是可以改变另外一个窗体的标题的。也就是说我获取的Handle是没有问题的
难道就只能用win API吗?
我另外一个程序也是.NET的