我想知道如何使用C#获取当前活动窗口的路径。
我得到currnet活动窗口的处理
const int nChars = 256;
int handle = 0;
StringBuilder Buff = new StringBuilder(nChars);
handle = GetForegroundWindow();
现在我如何获得此窗口的路径?
即:“我的文档”窗口的路径是
C:\Users\User\Documents
- == - == - ==编辑 - == - == - = -
我想用程序监控“Windows资源管理器”,看看用户去哪了?
(即:用户转到c:\然后转到程序文件,然后转到Internet Explorer,我想获得此路径:C:\ Program Files \ Internet Explorer。
答案 0 :(得分:7)
向“Microsoft Internet Controls”
添加引用(COM)var explorer = new SHDocVw.ShellWindowsClass().Cast<SHDocVw.InternetExplorer>().Where(hwnd => hwnd.HWND == handle).FirstOrDefault();
if (explorer != null) {
string path = new Uri(explorer.LocationURL).LocalPath;
Console.WriteLine("name={0}, path={1}", explorer.LocationName, path);
}
使用handle
中的主窗口句柄打印 explorer.exe 实例的标题/路径。
答案 1 :(得分:-1)
使用线程......
bundle install