0
用於隱藏另一個正在運行的程序的窗口的c#程序。 邏輯是從文字值中分配窗口句柄
foreach (Process proc in Process.GetProcesses())
{
if (proc.MainWindowTitle.StartsWith("Some_title"))
{
handle = proc.MainWindowHandle;
}
}...
...
SetWindowPos(handle, IntPtr.Zero, 0, 0, 0, 0, 0x0001 | 0x0002 | 0x0004 | 0x0010 | 0x0080);
...
//later to unhide
SetWindowPos(handle, IntPtr.Zero, 0, 0, 0, 0, 0x0001 | 0x0002 | 0x0004 | 0x0040);
現在如果我取消隱藏窗口之前終止程序,我失去了我設置爲隱藏窗口的句柄。因爲(可能)隱藏窗口不再是該進程的主窗口,所以通過進程列表再次迭代不會再隱藏窗口的句柄。 [它是一個有多個窗口的聊天客戶端]
您可以想到的任何方法,在程序調用之間將窗口句柄保存到文件中,並在稍後的時間點執行取消隱藏?
我已經嘗試過了,但文字不能指定回IntPtr類型作爲句柄。