我正在尝试复制我通过Process.Start()启动的浏览器窗口的Aero功能。为此,我使用MoveWindow,当资源管理器启动时,无法使调整大小来处理任何应用程序。函数本身返回false,Marshal.GetLastWin32Error()返回1400 (无效窗口句柄)。
MoveWindow声明:
[DllImport("user32.dll", SetLastError = true)]
public static extern bool MoveWindow(IntPtr hWnd, int x, int y, int nWidth, int nHeight, b
我需要检索Windows桌面应用程序自动化的上下文菜单的窗口处理程序。我使用win32gui模块来查找窗口处理程序,但它似乎不适用于上下文菜单。
import win32gui
# works fine with normal window
print(hex(win32gui.FindWindow("Micro", None)))
# does not work with context menu
print(hex(win32gui.FindWindow("Context", None)))
我正在使用Office互操作创建一个新的Word实例,方法如下:
var word = Microsoft.Office.Interop.Word.Application();
word.Visible = true;
word.Activate;
我可以像这样得到一个窗口句柄:
var wordHandle = Process.GetProcessesByName("winword")[0].MainWindowHandle;
问题是,代码的工作原理是假设没有其他Word实例在运行。如果有多个,它不能保证返回的句柄是我启动的实例的句柄。在检测到来自我的对象的WindowAct