永发信息网

c# 判断任务栏中是否已经打开文件夹?

答案:1  悬赏:0  手机版
解决时间 2021-11-12 14:50
c# 判断任务栏中是否已经打开文件夹?
最佳答案
//using System.Diagnostics;
    //using System.Runtime.InteropServices;
    //using SHDocVw;
    class Program
    {
        //1. 引用c:windowssystem32shdocvw.dll
        //2. 声明SetForegroundWindow
        [DllImport("user32.dll")]
        static extern bool SetForegroundWindow(IntPtr hWnd);

        static void Main(string[] args)
        {
            ShellWindows wins = new ShellWindows();
            string folder = @"D: est";
            bool found = false;
            foreach (InternetExplorer w in wins)
                if (w.LocationURL.Contains(
                    folder.Replace('\', '/')))
                {
                    SetForegroundWindow((IntPtr)w.HWND);
                    found = true;
                    break;
                }
            if (!found)
                Process.Start("explorer", folder);
            Console.ReadLine();
        }
    }追问ShellWindows 这个需要依赖哪个dll呢?追答看上面注释。追问你的这个在WIN7上不好使,我是把它放在一个按钮的点击事件里面,点击第二次,同样的打开一个新的窗口,并没有前置就的窗口。而且最后一行代码读取一行就报错了,不知道为什么要写这么一行,能解释一下吗。谢谢。追答readline不是必要的,自己可以去掉。你打开的路径是什么样的?我在自己的win7上测过了的。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
蓝波有特定来单,西天再取经回来,送一二三头
谁知道黑界讨论是谁创建的????
被骗6000元可以立案么
请问下有悲欢辞的资源吗
用现代汉语翻译下列句子 ①公至赤壁,与备战
床为什么老是咯吱咯吱响??
面试时被问为什么大四没去找工作?
苹果6手机uc浏览器下载好种子点击打开方式使
丑男如何找对象秘诀
请问,直流电就用单芯电缆,交流电就用三芯电缆
2013款保时捷卡宴多少钱
为什么?有的人到冬天,退是凉的,睡一夜,从
飞弘二手车行地址在什么地方,想过去办事,
宝山到青浦坐地铁要多久
瑞星杀毒软件、防火墙和卡卡助手。现在准备再
推荐资讯
山田造型(鞍山西道店)地址在什么地方,想过去
玉树至邦达有多少公里
我老公为了钱去矿上上班,我特不愿意他去我该
睁的组词有哪些
四川绵阳那里有养鹅的?
最进这几天感觉大便很少
basic 整除运算符的分子分母如果不是整型(比
张柏芝儿子谢振轩的鞋子品牌
理发属于什么专业
安徽省合肥市庐江县郭河镇敬老院地址在什么地
如果妈妈是那种让人很抓狂的性格怎么办'
广州铭智餐饮管理有限公司怎么样?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?