我有一个已编译的c#控制台应用程序,我想有一个选项来更改某个窗口(* .exe,比如说,任务管理器)的位置和大小。 是否可以通过VS2010中提供的命名空间? 目标窗口没有以任何方式连接到VS编译的exe。
答案 0 :(得分:2)
如评论中所述,您必须使用SetWindowPos函数。
您将需要窗口句柄。为此,您可以调用EnumWindows,使用GetWindowModuleFileName检查每个窗口的可执行文件名。
伪代码:
foreach window in EnumWindows()
if GetWindowModuleFileName(window) == "program.exe"
SetWindowPos(window, ...)
这些功能属于Windows API。要调用它们,您需要进行P / invoke(pinvoke.net可能会有很大的帮助。)
答案 1 :(得分:2)
很有可能:
要更改窗口位置或/和尺寸,您可以使用 SetWindowPos
http://msdn.microsoft.com/en-us/library/windows/desktop/ms633545(v=vs.85).aspx
为了找出窗口的句柄(hWnd参数),你可能会发现它很有用
FindWindow函数
http://msdn.microsoft.com/en-us/library/windows/desktop/ms633499(v=vs.85).aspx
EnumWindows的
http://msdn.microsoft.com/en-us/library/windows/desktop/ms633497(v=vs.85).aspx