精华内容
下载资源
问答
  • Windows 7 任务栏为我们增添了许多其他功能:Jump Lists,Window Preview,Progress Bar,Overlay Icon 等等。  新任务栏的功能使我们的操作更加方便快捷,微软提供了方便的工具Windows API Code Pack for .NET ...
          Windows 7 任务栏为我们增添了许多其他功能:Jump Lists,Window Preview,Progress Bar,Overlay Icon 等等。

          新任务栏的功能使我们的操作更加方便快捷,微软提供了方便的工具Windows API Code Pack for .NET Framework 来帮助我们完成这些开发,程序中增加Microsoft.WindowsAPICodePack.dllMicrosoft.WindowsAPICodePack.Shell.dll



          在使用IE 下载文件时,任务栏图标会同步显示当前下载进度(如下图)。那么在应用程序中如何实现这个效果呢?



    TaskbarManager.SetProgressValue 方法

          在TaskbarManager 类中有三种不同方式使用SetProgressValue 方法来设置进度条当前位置,其中currentValue 为进度条当前位置的参数,maximumValue 为最大参数:

    //设置当前窗口
    public void SetProgressValue(int currentValue, int maximumValue)
    {
        CoreHelpers.ThrowIfNotWin7();
        TaskbarList.SetProgressValue(OwnerHandle, Convert.ToUInt32(currentValue), 
                                     Convert.ToUInt32(maximumValue));
    }
    
    //设置指定窗口
    public void SetProgressValue(int currentValue, int maximumValue, 
                                 IntPtr windowHandle)
    {
        CoreHelpers.ThrowIfNotWin7();
        TaskbarList.SetProgressValue(windowHandle, Convert.ToUInt32(currentValue), 
                                     Convert.ToUInt32(maximumValue));
    }
    
    //设置指定WPF窗口
    public void SetProgressValue(int currentValue, int maximumValue, 
                                 System.Windows.Window window)
    {
        CoreHelpers.ThrowIfNotWin7();
    
        TaskbarList.SetProgressValue(
            (new WindowInteropHelper(window)).Handle,
            Convert.ToUInt32(currentValue),
            Convert.ToUInt32(maximumValue));
    }
    TaskbarProgressBarState 进度条状态

           除了常见的绿色(Normal 正常状态)外,还可以通过调用枚举TaskbarProgressBarState 使用其他几种状态,请参看下表:

    名称 描述
    NoProgress 不显示进度条
    Indeterminate 不定值进度条(处于滚动状态)
    Normal 正常状态(绿色)
    Error 错误状态(红色)
    Paused 暂停状态(黄色)

    TaskbarManager.SetProgressState 方法

          如何为进度条设置以上状态呢?当然TaskbarManager 也同样提供了三种不同的方式使用SetProgressState 方法,对进度条状态进行相应的设置:

    //设置当前窗口状态
    public void SetProgressState(TaskbarProgressBarState state)
    {
        CoreHelpers.ThrowIfNotWin7();
        TaskbarList.SetProgressState(OwnerHandle, (TBPFLAG)state);
    }
    
    //设置指定窗口状态
    public void SetProgressState(TaskbarProgressBarState state, IntPtr windowHandle)
    {
        CoreHelpers.ThrowIfNotWin7();
        TaskbarList.SetProgressState(windowHandle, (TBPFLAG)state);
    }
    
    //设置指定WPF窗口状态
    public void SetProgressState(TaskbarProgressBarState state, 
                                 System.Windows.Window window)
    {
        CoreHelpers.ThrowIfNotWin7();
        TaskbarList.SetProgressState(
            (new WindowInteropHelper(window)).Handle,
            (TBPFLAG)state);
    }

    效果演示

           下面只需要在程序中使用以上方法便可实现对进度条的控制,下面代码通过Slider 调节进度条当前数值:

    /// <summary>
    /// 初始化进度条状态
    /// </summary>
    private void InitProgressStates()
    {
        _progressBarStatus.Items.Add(TaskbarProgressBarState.NoProgress);
        _progressBarStatus.Items.Add(TaskbarProgressBarState.Indeterminate);
        _progressBarStatus.Items.Add(TaskbarProgressBarState.Normal);
        _progressBarStatus.Items.Add(TaskbarProgressBarState.Error);
        _progressBarStatus.Items.Add(TaskbarProgressBarState.Paused);
        _progressBarStatus.SelectedIndex = 2;
    }
    
    /// <summary>
    /// 进度条值改变时,改变TaskBar的进度和状态
    /// </summary>
    private void _progressSlider_ValueChanged(object sender, EventArgs e)
    {
        TaskbarManager.Instance.SetProgressValue(_progressSlider.Value, _progressSlider.Maximum);
        TaskbarManager.Instance.SetProgressState((TaskbarProgressBarState)_progressBarStatus.SelectedItem);
    }
    

     正常状态      错误状态       暂停状态


    展开全文
  • 进入桌面后找不到启动器,菜单栏和标题栏了,终端可以打开,也能通过终端运行程序。  有两次是重启机器就好了,有一次是重装了桌面解决的。  自己分析了一下,出现这种问题一般还是软件的兼容性问题导致的,就是对...

     因为开发环境的Ubuntu服务器不敢随便折腾,所以就在自己机器装了一个,折腾来折腾去,不知道哪个环节安装、卸载出了问题,也可能是改了什么配置我没注意到。进入桌面后找不到启动器,菜单栏和标题栏了,终端可以打开,也能通过终端运行程序。
     有两次是重启机器就好了,有一次是重装了桌面解决的。

     自己分析了一下,出现这种问题一般还是软件的兼容性问题导致的,就是对某一个软件的安装、卸载、更改配置影响了桌面相关的组件或服务。说白了就是更改过程中没看清、没注意、不小心导致的。
     总结了一下碰到类似问题,大概有7个方法可以尝试:

    一、重启服务

    ctrl+alt+t 打开终端,
    输入命令sudo service lightdm restart重启 lightdm。

    注意,有可能你的服务不是lightdm,
    输入命令sudo service gdm3 restart重启 gdm3。

    上面两种是目前最主流覆盖面最广的服务,如果是其他的自己查找一下服务名,重启一下,需要管理员权限。

    二、注销重启机器

     重启服务不行就试着重启一下机器,毕竟linux的图形显示系统涉及到的服务挺多的,很多服务都有关联关系。
     重启之前先试一下看看能不能注销,除了屏幕菜单注销入口,输入ctrl+alt+del也可以注销。
     输入命令reboot重启 机器。

    三、重装unity桌面

    如果你是unity桌面,ctrl+alt+t 打开终端,
    输入命令sudo apt-get install unity重新安装。

    安装完最好重启机器(很多资料说注销就可以,实际上很多时候不重启会有奇怪的异常)。
    一般Ubuntu16以前用unity桌面比较多。

    四、重装gnome桌面环境

    如果你是gnome桌面,ctrl+alt+t 打开终端,
    输入命令sudo apt-get install gnome-shell重新安装。
    或输入命令sudo apt-get install ubuntu-gnome-desktop

    安装完最好重启机器(条件允许时最好重启)。
    一般Ubuntu18以后默认是gnome桌面的。

    五、重装默认桌面

    原样重装原来的桌面,ctrl+alt+t 打开终端,
    输入命令sudo apt-get install --reinstall ubuntu-desktop重新安装。
    命令会安装原来标配的桌面环境。

    六、查看安装卸载历史记录手工修复

    这个需要一定的专业知识和分析能力,打开软件中心可以看到软件包的安装历史记录,卸载了什么,更新了什么,安装了什么,什么时间干的,都很清楚。
    在这里插入图片描述
    看看哪些是跟图形系统有关的,被更新、卸载了就重新还原回去。
    如果没有软件中心,可以输入命令安装一个apt-get install software-center

    七、还原compiz视窗参数

     compiz是Ubuntu中高级窗口管理器,其中很多参数设置会从底层影响到桌面的显示。如果你曾经通过工具或其它软件不小心修改了这些参数,可能会导致显示界面混乱。
     打开终端输入命令sudo dconf reset -f /org/compiz/可以重设compiz的状态。
    谨慎使用!!使用前做好备份。

    最后

     安装卸载或升级的过程中终端里的提示信息又密又多,还是要注意看,一不小心就歇菜了。虽然都是图形界面,但毕竟linux和windows的操作机制差别还是挺大的。
     欢迎交流分享,讨论补充~ ~

    参考文章《Ubuntu16_18建立返回桌面、显示桌面的快捷图标的特殊方法》
    参考文章《怎么把ubuntu系统从英文修改为中文界面》

    转载请注明本文地址:https://blog.csdn.net/davidhzq/article/details/102872710

    展开全文
  • Windows任务栏API

    千次阅读 2011-02-27 15:23:00
    使用Windows API 显示隐藏 Windows任务栏的方法,windows任务栏,其实是一个窗口(window),只要找到这个窗口的句柄,显示隐藏就轻而易举了,任务栏是个没有标题的窗口,但知道它的类名是 Shell_TrayWnd,...

    使用Windows API 显示和隐藏 Windows 的任务栏的方法,windows 的任务栏,其实是一个窗口(window),只要找到这个窗口的句柄,显示和隐藏就轻而易举了,任务栏是个没有标题的窗口,但知道它的类名是 Shell_TrayWnd,所以,可以用 FindWindow 或 FindWindowEx 去查找它的句柄,而显示和隐藏窗口,使用的是 ShowWindow:

    * 引入Windows API 的声明

    [DllImport("User32.dll", EntryPoint="FindWindow", CharSet=CharSet.Auto)]
    public static extern  int FindWindow(String className, String captionName);

    [DllImport("user32.dll", EntryPoint = "FindWindowEx", SetLastError = true)]
    static extern IntPtr FindWindowEx(IntPtr hwndParent, IntPtr hwndChildAfter, string lpszClass, string lpszWindow);

    [DllImport("user32.dll", EntryPoint = "ShowWindow", SetLastError = true)]
    static extern bool ShowWindow(IntPtr hWnd, uint nCmdShow);

    * 显示/隐藏任务栏窗口

    //IntPtr trayHwnd = FindWindowEx(IntPtr.Zero, IntPtr.Zero, "Shell_TrayWnd", null);
    IntPtr trayHwnd = FindWindow("Shell_TrayWnd", null);
    if (trayHwnd != IntPtr.Zero)  
      {   
         ShowWindow(trayHwnd, 0);
      }

    上面的代码中, ShowWindow 的第二参数, 1表示显示, 0表示隐藏

    展开全文
  • 1. pb里实现无标题栏 api解决: SetWindowLong(Handle, // 当前窗体句柄  GWL_STYLE, // 表示当前是要设置新的窗体(普通)样式  // 得到指定窗体信息  GetWindowLong(Hand

    1. pb里实现无标题栏

    api解决:

    SetWindowLong(Handle,                  // 当前窗体句柄
                    GWL_STYLE,                // 表示当前是要设置新的窗体(普通)样式
                    // 得到指定窗体信息
                    GetWindowLong(Handle, GWL_STYLE)
                      and (not WS_CAPTION));  // 去掉样式(s)中的“标题”样式


    具体
    FUNCTION long SetWindowLong(ulong hWnd, integer nIndex, ulong dwNewLong) library "user32.dll" ALIAS FOR "SetWindowLongA"
    Function long GetWindowLong (Long hwnd,Long nIndex) library "user32" Alias for "GetWindowLongA"
    //


    //GWL_STYLE=-16
    //WS_CAPTION=12582912
    SetWindowLong(handle(this),-16,GetWindowLong(handle(this),-16)+12582912 )




    上面是声明 下面的代码放在open事件中
     
    =======================================================================
     
    2.   如何使PB窗口总在最上层  


    通过SetWindowPos函数吧窗口的显示层次修改为HWND_TOPMOST,就可以使指定窗口永远不会被其它窗口覆盖,该函数声明为:  


    Function   Long   SetWindowPos(Long   hwnd,   Long   ord,   Long   x,   Long   y,   Long  


    dx,   Long   dy,   Long   uflag)   Library   “user32.dll”  


    参数1为要顶层显示的窗口句柄,参数2指定显示的层次,参数7为附加选项,其余  


    参数指定窗口位置和大小,均可忽略。在窗口的Open或Activate事件中加入如下  


    函数调用:  


    SetWindowPos(Handle(This),-1,0,0,0,0,3)  


    参数2取-1表示在最顶层显示窗口,取1表示在最底层显示;最后一个参数若取1,  


    表示窗口大小保持不变,取2表示保持位置不变,因此,取3(=1+2)表示大小和  


    位置均保持不变,取0表示将窗口的大小和位置改变为指定值。  




    3.   显示或隐藏Windows的任务栏  


    要显示或隐藏任务栏,首先要得到它的窗口句柄。任务栏是一个特殊的窗口,它  


    的窗口类为:Shell_TrayWnd,没有标题,故只能用FindWindowEx函数来取得它的  


    句柄:  


    Function   Long   FindWindowEx(Long   ph,   Long   ch,   ref   String   cn,   ref  


    String   wn)   Library   “user32.dll”  


    Function   Long   ShowWindow(Long   hWnd,   Long   nCmdShow)   Library   “user32.dll”  


    用ShowWindow来显示或隐藏窗口,其第二个参数为0表示隐藏,为5表示显示:  


    handle   =   FindWindowEx(0,0,”   Shell_TrayWnd”,wn)   //wn为空串  


    ShowWindow(handle,0)   //隐藏任务栏  
    展开全文
  • Windows7在第一次使用时,很多朋友感觉任务栏变的“怪了”,很不适应。他们经常在群里或者软媒论坛里面询问:Windows7下面任务栏的快速启 动(quick launch)区域跑哪儿去了?那些快速启动的IE浏览器等小图标怎么没...
  • c#隐藏/显示Windows任务栏

    千次阅读 2009-04-16 22:12:00
    Windows任务栏实际上是一个没有标题的窗体,所以只要找到这个窗体,就能隐藏显示了 [DllImport("user32.dll", EntryPoint = "FindWindowEx", SetLastError = true)] static extern IntPtr FindWindowEx(IntPtr ...
  • 本文主要讲了Windows XP操作系统任务栏的十二例实用技巧,这些技巧可以让你更方便、快捷的使用XP的任务栏。 一、优化分组XP任务栏 如果你在使用电脑时经常开启多个应用程序,那应该非常珍惜任务栏上的空间。但是,...
  • 在老妹家看到她电脑的任务管理器居然是这个样子的,我擦,这是什么情况,没有标题栏,没有菜单栏,没有那些选项卡。 百度了下,解决办法是在红色的区域双击一下,无语了。 
  • 用 VC5 控制 Windows 任务栏图标

    千次阅读 2006-04-21 13:47:00
    用 VC5 控制 Windows 任务栏图标 通过在Windows任务栏中设置图标,我们可以有效控制系统程序中最常用功能,使用户实时观察应用程序的工作状态。Windows 95、98中已经有设备状态、系统时钟、计划任务以及中文...
  • 解决 QT 无边框窗体最大化 遮挡windows任务栏的问题
  • //通过窗口类名窗口名获取窗口句柄 HWND MainWindow::GetwinId(void) { LPCWSTR app = NULL; // QString ClassName("Qt5QWindowIcon"); // app = reinterpret_cast(ClassName.data()); ...
  • 如何使Windows 10中的任务栏图标居中

    千次阅读 2018-09-26 15:52:26
    作为Windows用户,将任务栏放在屏幕截图的中心可能是访问常用应用程序的便捷方式。在这里,我们将讨论如何在Windows 10中集中任务栏图标。   窗口任务栏中的图标默认位于左侧。如果你想让他们找到中心怎么办?只...
  • 学习下win7任务栏个性化设置!

    千次阅读 2011-05-15 11:12:00
    这里,我就以创造XP效果的任务栏为例,给大家说明下,前些日子装了windows7系统,感觉不错,但是发现windows7系统默认是没有快速启动栏 的,自己用XP时不太喜欢在桌面上有太多的图标,都愿意放在快速启动栏里。经过...
  • JavaFx应用内部任务执行完毕,如果应用没有焦点,则在Windows任务栏给予图标闪烁及高亮提示。
  • 我这里,发布一下使用Windows API 显示隐藏 Windows任务栏的方法,windows任务栏,其实是一个窗口(window),只要找到这个窗口的句柄,显示隐藏就轻而易举了,任务栏是个没有标题的窗口,但它的类名...
  • c#中添加Windows任务栏右键菜单

    千次阅读 2009-04-16 22:18:00
    MessageBox.Show("您点击了窗体新添加的任务栏菜单","消息"); return; default: break; } base.WndProc(ref m); } private void Form1_Load(object sender, EventArgs e) { IntPtr ...
  • 关于隐藏Windows任务栏中的应用程序按钮的几种方法的介绍 (转) 摘 要:本文介绍了笔者在实践中得到的几种隐藏任务栏中的应用程序按钮的方法,并逐一对其中的每一种方法进行详细的分析,指出每一种方法的优缺点。...
  • 今天在测试公司产品是发现我们的软件在win7环境下多窗口最小化到任务栏后,上面的提示图标变成了“TODO:”的标题,而不是我们正常对话框上显示的标题。在网上google了一下,发现Win7是根据文件的名称路径来判断...
  • 在功能设置方面,Windows 7有一个地方比Windows XP要麻烦。比如用户将屏幕左下角(开始菜单附近)的快速启动栏里的图标文件请出去后... 有关“找回Windows 7任务栏消失”的方法,一些网友给出的方法是可行的,但是在解释
  • WPF 实现无边框窗口 点击任务栏图标进行程序最小化及恢复正常的两种代码方式 xxx.xaml文件内容代码: 设置Window属性: ResizeMode="CanMinimize" xxx.cs文件内容代码: this.ResizeMode = System.Windows....
  • 对于无标题栏窗口,也就是FormBorderStyle等于System.Windows.Forms.FormBorderStyle.None的窗体,点击任务栏图标的时候,是不能标准窗体一样最小化或还原的。把下面的代码加到你的Form实现类中,即可实现点击任务...
  • 对于无标题栏窗体,也就是FormBorderStyle等于System.Windows.Forms.FormBorderStyle.None的窗体,点击任务栏图标的时候,是不能象标准窗体那样最小化或还原的。把下面的代码加到你的Form实现类中,即可实现点击任务...
  • 1.制作带透明通道的png...echo y|reg delete "HKEY_CLASSES_ROOT\Local Settings\Software\Microsoft\Windows\CurrentVersion\TrayNotify" /v PastIconsStream rem 重启Windows外壳程序explorer start explorer  
  • Qt 之 自定义窗口标题栏

    万次阅读 多人点赞 2016-12-06 23:20:44
    今天晚上就如何用Qt自定义窗口标题栏,写了一个小例子,比较基础,实用。在此分享一下。 首先Qt是跨平台的,所以在不同的平台上窗口的外观是不一样的。比如在windows平台上,用Qt显示的一个窗口就跟一般windows程序...
  • windows7的快速启动

    2011-03-07 10:01:00
    <br />win7安装好之后是没有快速启动栏的,不过可以自己设置。   在任务栏上右键 -> 工具栏 -> 新建工具栏。...然后在 Quick Launch 的位置右键,把显示文本显示标题的勾全部去掉。 现在任
  • setWindowFlags(Qt::FramelessWindowHint | Qt::WindowSystemMenuHint | ...2, Qt::WindowSystemMenuHint | Qt::WindowMinimizeButtonHint | Qt::WindowMaximizeButtonHint:点击任务栏应用图标控制窗体最小化显示。
  • WIN7任务栏的QUICK LAUNCH怎么调出来

    千次阅读 2013-10-31 14:21:21
    WIN7任务栏的QUICK LAUNCH怎么调出来 Win7因为可以直接把程序附到任务栏,所以取消了默认显示的Quick Launch,不过你还是可以把它显示出来: 右键单击任务栏--工具栏--新工具栏 在空白处输入"%UserProfile%\App...
  • 任务栏显示程序详解

    2012-12-04 16:54:37
    1、无论什么情况,要让一个窗口在任务栏上显示按钮的...3、如果一个窗口不是顶级窗口,但有WS_EX_APPWINDOW风格,那么Windows将为它在任务栏上创建一个按钮,否则不会有相应的任务栏按钮。 4、如果一个窗口是顶级窗
  • 在功能设置方面,Windows 7有一个地方比Windows XP要麻烦。比如用户将屏幕左下角(开始菜单附近)的快速启动栏里的图标文件请出去后,要... 有关“找回Windows 7任务栏消失”的方法,一些网友给出的方法是可行的,但是在
  • 众所周知,标题栏和菜单栏都是典型的非客户区,而在Windows平台上,非客户区的自绘对很多程序猿来说,真的是痛苦不堪啊。因此方案一自然而然就被淘汰了。既然如此,那么如何用方案二实现我们要的效果呢? 这里,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 26,332
精华内容 10,532
关键字:

windows7的任务栏和标题栏