我试着阅读MainWindowHanlde对于Acrobat Reader 10进程,所以我可以使用SetParent API 我试过这个
private Process pDocked;
private IntPtr hWndDocked;
pDocked = Process.Start(path, PDFPath);
while (hWndDocked == IntPtr.Zero)
{
pDocked.WaitForInputIdle(1000);
pDocked.Refresh();
if (pDocked.HasExited)
{
return;
}
hWndDocked = pDocked.MainWindowHandle;
}
,结果是hWndDocked = 0 即使我在acrobat阅读器9上试过这个,我得到了MainWindowHandle,但它在acrobat reader 10上没有用
请帮忙 谢谢
答案 0 :(得分:1)
我有同样的问题,并发现当以下属性为true时,没有MainWindowHandle,如果“main form”有子窗口,那么进程的MainWindowHandle将是子窗口句柄而不是预期的main窗口。奇怪的!!!希望我能理解为什么。但是一旦我发现这个,我就用另一种方式解决了我的问题(在我的情况下,我并不真的需要MainWindowHandle)!
以下时间:
public frmMain()
{
InitializeComponent();
this.ShowInTaskbar = false;
this.ShowIcon = false;
}
没有MainWindowHandle(= 0)!!
如果你创建子窗口,在这种情况下,进程的MainWindowHandle将是frmLogon的句柄:
private void frmMain_Load(object sender, EventArgs e)
{
frmLogon frm = new frmLogon();
frm.Show();
}
将进程的frmLogon和MainWindowHandle关闭回零(= 0)!!
希望这些信息有用!