精华内容
下载资源
问答
  • 使用qt写的一个demo,具有屏蔽系统组合按键入Alt+Tab/Alt+Esc/Ctrl+Alt+Del 以及隐藏任务栏功能
  • 使用公司的app的时候,会出现虚拟按键跟app的导航重叠的问题。今天计划解决这个问题,百度了一下发现蛮多都不起作用,最后找到一个起作用的,非常感谢原作者,然后我做一个记录。第一步,写一个工具类public class...

    最近客户反映,他们有些手机用的是华为或者三星的那种只有虚拟按键的。使用公司的app的时候,会出现虚拟按键跟app的导航栏重叠的问题。今天计划解决这个问题,百度了一下发现蛮多都不起作用,最后找到一个起作用的,非常感谢原作者,然后我做一个记录。

    第一步,写一个工具类

    public class NavigationBarUtil {
    
        public static void assistActivity(View content) {
            new NavigationBarUtil(content);
        }
    
        private View mChildOfContent;
        private int usableHeightPrevious;
        private ViewGroup.LayoutParams frameLayoutParams;
    
        private NavigationBarUtil(View content) {
            mChildOfContent = content;
            mChildOfContent.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
                public void onGlobalLayout() {
                    possiblyResizeChildOfContent();
                }
            });
            frameLayoutParams = mChildOfContent.getLayoutParams();
        }
    
        private void possiblyResizeChildOfContent() {
            int usableHeightNow = computeUsableHeight();
            if (usableHeightNow != usableHeightPrevious) {
          
                //将计算的可视高度设置成视图的高度
                frameLayoutParams.height = usableHeightNow;
                mChildOfContent.requestLayout();//请求重新布局
                usableHeightPrevious = usableHeightNow;
            }
        }
    
        private int computeUsableHeight() {
            //计算视图可视高度
            Rect r = new Rect();
            mChildOfContent.getWindowVisibleDisplayFrame(r);
    //        这里是调整顶起的高度,可以直接用r.bottom
            return (r.bottom);
        }
    }
    
    

    第二步,在你的activity中调用如下方法,即可。

    NavigationBarUtil.assistActivity(findViewById(android.R.id.content));
    //透明状态栏
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
    //透明导航栏
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);

    最终效果如下


    展开全文
  • 程序无可视窗口,仅一托盘图标;快捷键为ctrl ~(1左侧的按键,无需shift)。...结合单纯的隐藏任务栏任务栏自动隐藏,使得任务栏隐藏后,腾出的空间可用; 2.可记忆运行本程序前任务栏自动隐藏状态,并于退出时恢复。
  • //显示任务栏 void enableTaskManager(bool flag); //任务管理器 private: HWND task; }; #endif // CHOOK_H .cpp #include "chook.h" #include #include //在注册表该目录下增加新内容 #define ...

    .h

    #ifndef CHOOK_H
    #define CHOOK_H
    
    #include <QObject>
    #include <Windows.h>
    
    /************************************************************************/
    /*   钩子类,屏蔽系统热键
    	author: liulihuo
    	date : 2017/9/26
    */
    /************************************************************************/
    
    class CHook : public QObject
    {
    	Q_OBJECT
    
    public:
    	CHook(QObject *parent = NULL);
    	~CHook();
    	void hook(bool flag); //功能键
    	void showTaskWindow(bool flag); //显示任务栏
    	void enableTaskManager(bool flag); //任务管理器
    private:
    	HWND task;
    
    };
    
    #endif // CHOOK_H

    .cpp

    #include "chook.h"
    #include <QDebug>
    #include <QSettings>
    
    //在注册表该目录下增加新内容
    #define TASKMANAGERSystem "HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System"
    #define TASKMANAGERExplorer "HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer"
    
    HHOOK keyHook = NULL;
    HHOOK mouseHook = NULL;
    
    //键盘钩子过程
    LRESULT CALLBACK keyProc(int nCode,WPARAM wParam,LPARAM lParam )
    {
    	//在WH_KEYBOARD_LL模式下lParam 是指向KBDLLHOOKSTRUCT类型地址
    	KBDLLHOOKSTRUCT *pkbhs = (KBDLLHOOKSTRUCT *) lParam;
    	//如果nCode等于HC_ACTION则处理该消息,如果小于0,则钩子子程就必须将该消息传递给 CallNextHookEx
    	if(nCode == HC_ACTION)
    	{
    		if((pkbhs->vkCode == VK_ESCAPE && GetAsyncKeyState(VK_CONTROL)& 0x8000 && GetAsyncKeyState(VK_SHIFT)&0x8000)|| //"Ctrl+Shift+Esc"
    			(pkbhs->vkCode == VK_ESCAPE && GetAsyncKeyState(VK_CONTROL) & 0x8000) || //"Ctrl+Esc"
    			(pkbhs->vkCode == VK_TAB && pkbhs->flags & LLKHF_ALTDOWN )|| //"Alt+Tab"
    			(pkbhs->vkCode == VK_ESCAPE && pkbhs->flags &LLKHF_ALTDOWN )|| //"Alt+Esc"
    			(pkbhs->vkCode == VK_LWIN || pkbhs->vkCode == VK_RWIN )||	// "LWIN/RWIN"
    			(pkbhs->vkCode == VK_F4 && pkbhs->flags & LLKHF_ALTDOWN )) //"Alt+F4"
    		{
    			return 1;//返回1表示截取消息不再传递,返回0表示不作处理,消息继续传递
    		}	
    
    		// 		if(pkbhs->vkCode == VK_F12)
    		// 		{
    		// 			void unHook();
    		// 			qApp->quit();
    		// 		}
    	}
    	return CallNextHookEx(keyHook, nCode, wParam, lParam);
    }
    //鼠标钩子过程
    LRESULT CALLBACK mouseProc(int nCode,WPARAM wParam,LPARAM lParam )
    {
    
    	return 1;
    
    }
    
    CHook::CHook(QObject *parent)
    : QObject(parent)
    {
    	
    }
    
    CHook::~CHook()
    {
    
    }
    
    //安装钩子,调用该函数即安装钩子
    void CHook::hook(bool flag)
    {
    	if (flag)
    	{
    		//这两个底层钩子,不要DLL就可以全局
    		//底层键盘钩子
    		keyHook =SetWindowsHookEx( WH_KEYBOARD_LL,keyProc,GetModuleHandle(NULL),0);
    		//底层鼠标钩子
    		//    mouseHook =SetWindowsHookEx( WH_MOUSE_LL,mouseProc,GetModuleHandle(NULL),0);
    	}
    	else
    	{
    		UnhookWindowsHookEx(keyHook);
    		//  UnhookWindowsHookEx(mouseHook);
    	}
    }
    
    //添加注册屏蔽Ctrl+Alt+del
    void CHook::enableTaskManager(bool flag)
    {
    	// 屏蔽ctrl + alt +del 需要修改注册表的值, 取得管理员权限, 关闭360等杀毒软件
    	int value = flag ? 0x00000001 : 0x00000000;
    	QSettings *settings = new QSettings(TASKMANAGERSystem, QSettings::NativeFormat);
    	settings->setValue("DisableTaskMgr", value); //任务管理器
    	settings->setValue("DisableChangePassword", value); //更改密码
    	settings->setValue("DisableLockWorkstation", value); //锁定计算机
    	settings->setValue("DisableSwitchUserOption", value); //切换用户
    
    	QSettings *settings2 = new QSettings(TASKMANAGERExplorer, QSettings::NativeFormat);
    	settings2->setValue("NoLogOff", value); //注销
    
    	delete settings;
    	delete settings2;
    }
    
    //屏蔽任务栏
    void CHook::showTaskWindow(bool flag)
    {
    	if(flag)
    		ShowWindow(task,SW_SHOW);
    	else
    	{
    		task=FindWindow(L"Shell_TrayWnd",NULL);
    		ShowWindow(task,SW_HIDE);
    	}
    }
    
    






    展开全文
  • 第二种情况是下方的任务栏直接消失不见,鼠标放上也没有反应。 如果遇到以上情况时我们可以按照以下步骤: 步骤一: 点击键盘上的Ctrl+Alt+. 打开任务管理器。 步骤二: 点击 详细信息 ...

    这次的问题是 :windows 任务栏点击无反应,电脑没有任务栏怎么办?

    想必有很多人会出现鼠标点击任务栏没有任何反应,但是点击界面中的其他窗口,或者打开关闭软件都可以正常使用。

    第二种情况是下方的任务栏直接消失不见,鼠标放上也没有反应。

     

    如果遇到以上情况时我们可以按照以下步骤:

    步骤一:

    点击键盘上的Ctrl+Alt+. 打开任务管理器。

    步骤二: 点击  详细信息

    步骤三: 点击 详细信息

    步骤四:找到 explorer.exe 点击结束任务 再点击 结束进程

    步骤五:  点击左上角的文件  点击 运行新任务  输入 explorer

    这样你的任务栏就好了。

    展开全文
  • 在Access中,如果单独打开某个窗体,它在系统【任务栏】上会出现 该窗体的按键。 请问,如何去除这个[b]窗体的按键[/b]??
  • 这是一款基于 MFC对话框实现隐藏任务栏和开始按钮的源码程序文件,隐藏和显示功能分别用两个按键控制。
  • MFC中使用任务栏显示图标表示程序

    千次阅读 2017-09-29 05:58:47
    任务栏中通过图标表示应用程序,就是当按下应用程序窗口的最小化按键时,隐藏窗口,并在任务栏中显示图标表示该应用程序;当鼠标点击了任务栏中的图标时,显示窗口,并删除任务栏中的图标。 1 在任务栏中显示图标...

    在任务栏中通过图标表示应用程序,就是当按下应用程序窗口的最小化按键时,隐藏窗口,并在任务栏中显示图标表示该应用程序;当鼠标点击了任务栏中的图标时,显示窗口,并删除任务栏中的图标。

    1 在任务栏中显示图标

    通过NOTIFYICONDATA结构Shell_NotifyIcon()函数实现图标的显示。

    1.1 NOTIFYICONDATA结构

    该结构包含了系统所需的进程任务栏状态区域消息。该结构的成员变量较多,一般需要设置的变量有cbSizehWnduIDuFlagshIconuCallbackMessageszTip等。其中,

    cbSize表示NOTIFYICONDATA结构的大小;

    hWnd指定了接收通知消息的窗口句柄,该通知消息与任务栏中的图标相关;

    uID指定了该操作任务栏中的哪个图标;

    uFlags表示NOTIFYICONDATA结构中哪些成员变量需要设置;

    hIcon指定了要在任务栏中添加、删除或者修改的图标句柄;

    uCallbackMessage:指定了一个自定义的消息,当在任务栏显示的图标区域内发生鼠标动作时,该消息将会被发送给hWnd指定的窗口。通过该消息的响应函数,即可实现对鼠标动作的处理。

    szTip表示鼠标在任务栏图标上时显示的提示信息。

    NOTIFYICONDATA nid;
    nid.cbSize = sizeof(nid);
    nid.hWnd = this->m_hWnd;
    nid.uID = IDI_ICON1;
    nid.uFlags = NIF_ICON|NIF_MESSAGE|NIF_TIP;
    nid.uCallbackMessage = WM_SHOWTASK;
    nid.hIcon = AfxGetApp()->LoadIcon(IDI_ICON1);
    strncpy(nid.szTip, ("键盘屏蔽"), sizeof("键盘屏蔽"));
    nid.szTip[sizeof("键盘屏蔽")] = _T('\0');
    其中,IDI_ICON1 是项目中图标资源的 ID uFlags 的值中, NIF_ICON NIF_MESSAGE NIF_TIP 分别表示结构的 hIcon uCallbackMessage szTip 三个成员变量将被使用; WM_SHOWTASK 是自定义消息,当在任务栏的 IDI_ICON1 图标范围内发生鼠标动作,则该消息将会被发送给程序主窗口。

    1.2 Shell_NotifyIcon()函数

    使用Shell_NotifyIcon()函数在任务栏中显示图标。该函数的作用是将消息发送给任务栏的状态区域,系统收到消息后,进行后续处理。Shell_NotifyIcon()函数的格式为

    BOOL Shell_NotifyIcon(
    DWORD dwMessage,
    PNOTIFYICONDATA lpdata
    );
    其中,参数dwMessage 表示向任务栏状态区域发送的消息,该消息可以是添加图标、删除图标和修改图标等消息,系统收到不同的消息进行不同的处理; lpdata NOTIFYICONDATA 结构的指针,包含了任务栏图标的相关信息。如果发送消息成功,则返回值为 TRUE ,否则为 FALSE

    Shell_NotifyIcon(NIM_ADD, &nid);
    其中,NIM_ADD 表示向任务栏中添加图标,添加图标的相关信息保存在 nid 中。

    2 最小化按键消息处理

    当按下窗口最小化按键后,应该隐藏当前窗口,并且在任务栏中显示程序对应的图标。按下窗口最小化按键,会向系统发送WM_SYSCOMMAND消息。通过ON_WM_SYSCOMMAND宏指定该消息的响应函数,该消息的响应函数为OnSysCommand()。以上消息映射宏及消息响应函数在程序创建时已经自动创建完毕。

    OnSysCommand()函数的格式为

    afx_msg void OnSysCommand(
       UINT nID,
       LPARAM lParam
    );
    其中,参数nID 表示收到的系统指令的类型; lParam 表示鼠标在系统指令菜单上的坐标。在该函数中,对 nID 的类型进行判断,如果按下的是最小化按键,则隐藏窗口,并且在任务栏中显示程序对应的图标。

    if (nID == SC_MINIMIZE)
    {
    ShowWindow(SW_HIDE);
    HideToTray();
    }
    其中,SC_MINIMIZE 表示按下了最小化按键, ShowWindow() 函数的作用是隐藏当前窗口, HideToTray() 函数的功能是在任务栏中显示图标。

    3 任务栏图标鼠标动作的响应

    在前面已经提到,当鼠标点击任务栏图标后,显示程序主窗口并且在任务栏中删除图标。对于鼠标点击的响应,NOTIFYICONDATA结构的uCallbackMessage成员变量指定了发生鼠标动作时发送的消息。接下来对该消息进行响应。

    3.1 声明消息响应函数

    在头文件中对消息响应函数进行声明。

    LRESULT OnShowTask(WPARAM wParam, LPARAM lParam);

    3.2 消息响应宏

    在执行文件中使用ON_MESSAGE宏将消息与相应函数关联。

    ON_MESSAGE(WM_SHOWTASK, OnShowTask)

    3.3 定义消息响应函数

    消息响应函数的两个参数wParamlParam分别表示鼠标动作所在任务栏图标的ID和鼠标动作对应的消息。

    if (wParam != IDI_ICON1)
    {
    return -1;
    }
    switch (lParam)
    {
    case WM_LBUTTONUP:
    ShowWindow(SW_SHOW);
    HideFromTray();
    break;
    default:
    break;
    }
    其中,IDI_ICON1 是在 NOTIFYICONDATA 结构的 uID 成员变量的值。当鼠标点击了状态栏中图标时,显示程序主窗口。 HideFromTray() 函数为自定义函数,该函数的作用是从任务栏中删除程序对应的图标,该函数的定义为

    NOTIFYICONDATA nid;
    nid.cbSize = sizeof(nid);
    nid.hWnd = this->m_hWnd;
    nid.uID = IDI_ICON1;
    nid.uFlags = 0;
    Shell_NotifyIcon(NIM_DELETE, &nid);
    其中,Shell_NotifyIcon() 函数的第一个参数为 NIM_DELETE ,表示从任务栏中删除程序对应的图标。

    展开全文
  • ①添加头文件②声明注册 / 注销钩子 /屏蔽任务栏 / 屏蔽任务管理器的函数(ps:) #include<windows.h>//钩子要用 #include<QKeyEvent> #include <QSettings>//给任务管理器使能 用到 ...... ...
  • 一个很搞笑的整人工具,打开尝试的话,会看到好看的任务栏(*^__^*) , 一个按键解决手忙脚乱,不要按错了、后果很严重哦
  • win7 双屏双任务栏

    2016-10-12 16:32:00
    扩展屏幕下都显示任务栏!!! 第一步:Dual Monitor Taskbar 下载 ...第二步:安装完在扩展屏幕上便会出现任务栏 ...比如显示Windows按键、可以 镜像-两个任务栏控制同一个页面,也可以设置单独控制自己显示屏页...
  • 部分用户右下角没有’‘资讯和兴趣’‘且任务栏无反应解决办法 当右下角没有’‘资讯和兴趣’‘的时候点击任务栏无反应,此时’‘资讯和兴趣’‘bug导致贴图隐藏透明 按键Esc+Shift+Ctrl 打开任务管理器 重点!...
  • 任务栏放右侧的好处

    千次阅读 2019-08-22 00:09:42
    任务栏放右侧的好处解决系统显示问题减少误操作影响双屏显示时更美观 最近在做项目的时候一个同事问我,为什么把任务栏放在了显示器右侧? 其实放右侧很多好处,刚开始可能有点不习惯,时间长了会发现真的不错,...
  • 任务栏中通过图标表示应用程序,就是当按下应用程序窗口的最小化按键时,隐藏窗口,并在任务栏中显示图标表示该应用程序;当鼠标点击了任务栏中的图标时,显示窗口,并删除任务栏中的图标。 1 在任务栏中显示图标...
  • win10任务栏显示“中/英“语言标识

    千次阅读 2020-10-23 10:47:16
        在win10任务栏显示"中/英"语言标识,如下所示。     方法如下: 1、任务栏显示中/英文标识     点击win10桌面左下角的[开始]–>齿轮图标 --> 语言和时间 -->语言 --> 中文(中华人民...
  • 扩展屏幕下都显示任务栏!!! 第一步:Dual Monitor Taskbar 下载 ...第二步:安装完在扩展屏幕上便会出现任务栏 ...比如显示Windows按键、可以 镜像-两个任务栏控制同一个页面,也可以设置单独控制自己显示屏页...
  • Cortana搜索框怎么在任务栏显示?

    千次阅读 2018-06-26 18:34:40
    我们都知道Win10系统带有Cortana搜索功能,并且可以进行...Win10任务栏上Cortana搜索设置打开显示或隐藏的方法1、右键点击任务栏,找到“Cortana”,会发现Cortana搜索功能是被默认隐藏的,我们只需要选择下面两个...
  • mobile系统下,隐藏任务栏小程序

    千次阅读 2011-07-18 19:11:51
    说明:此程序是为了隐藏任务栏而开发的。此程序是在Windows Mobile 6 Professional SDK下开发的控制台程序。运行此程序,就会创建一个新的进程来运行驱动调试工具,此时任务栏开始隐藏,直到关闭驱动调试工具,任务...
  • 文章目录动机方法打开任务栏设置&自动隐藏任务栏安装taskbar hide设置快捷键控制任务栏后记   本文提供了一种直接隐藏任务栏的方法,想打开任务栏的时候使用快捷键即可. 动机   win10提供了自动隐藏任务栏的...
  •  win7的本本重启之后点击桌面无论左击右击都没反应,任务栏图标也没法点击,但是键盘是可以用的,按Windows徽标键从开始菜单中是可以打开软件的,也就是说,除了与鼠标有关的动作无法执行,系统其他功能是正常的。...
  • C#把winForm应用最小化右下角任务栏

    千次阅读 2019-02-17 15:59:41
    C#把winForm应用最小化右下角任务栏   一.把NotifyIcon控件拉到form窗体上 二.设置icon图标,不然不会出现在右下角任务栏 三 .设置icon点击事件 private void showTaskBar_MouseDown(object sender, ...
  • 今天遇上了一个纠结的问题,android手机从图标进入app(横屏)不会黑屏,但是点开任务栏,从任务栏进入app就会黑屏卡住一段时间,期间操作其他按键还容易产生程序崩溃的情况。 但是这可能只是试用我app的其中一个...
  • 很多时间,我们不希望软件正在操作时,因为用户的误操作,点击任务栏的右键关闭按键而退出程序。 下面的逻辑是,当软件正在处理重要事务时,将FORM的ControlBox关闭,在WndProc事件中通过判断ControlBox的true /...
  • Android SystemUI任务栏修改

    千次阅读 2015-03-19 09:41:21
    1、隐藏home recent系统按键 修改 android:layout_width="0dip" 修改 android:layout_width="0dip" 2、隐藏系统通知区域 修改status_bar_notification_area.xml 添加属性 android:visibility="gone...
  • 我们都知道Win10系统带有Cortana搜索功能,并且可以进行语音输入,要找文件或者软件程序非常的方便。 那么怎么在任务栏上显示Cortana的搜索功能呢?下面就来介绍一下Cortana搜索功能怎么在任务栏上设置...
  • 整个程序是基于Windows Forms的,对于任务栏右下角状态图标的闪动,创建了一个类型:NotifyIconAnimator,基本上是包装了Windows Forms中的NotifyIcon类型,然后内部有个Timer,不断循环设置NotifyIcon的Icon属性...
  • {声明 拦截最大化,最小化命令,从新设置屏幕高度} procedure WMGetMinMaxInfo(var mes: TWMGetMinMaxInfo);message WM_GetMinMaxInfo;...Screen.WorkAreaHeight就是屏幕高度减去任务栏的高度} procedure TForm1
  • C#窗口操作(隐藏关闭按钮,将程序在任务栏中隐藏起来)

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 18,772
精华内容 7,508
关键字:

任务栏按键