精华内容
下载资源
问答
  • Windows 打开命令行窗口方式:【shift +右键】快捷键和设置【直接右键】菜单等 文章目录Windows 打开命令行窗口方式:【shift +右键】快捷键和设置【直接右键】菜单等1.设置【直接右键】菜单(推荐)2....

    Windows 打开命令行窗口四种方式:【shift +右键】快捷键和设置【直接右键】菜单等



    1.设置【直接右键】菜单(推荐)

    为什么我一上来并没有说找 CMD命令行窗口软件的方法?因为一次次找的话太麻烦了。而且很多时候你还要切换目录,使用步骤过多也不好。

    如果设置【直接右键】菜单,就很方便了。而且再设置以管理员身份打开命令窗口可以使用所有cmd命令了,没有权限限制了。

    设置步骤

    (步骤1)下载注册表文件

    (步骤2)解压运行文件

    在解压下载的文件夹后可以得到两个文件【cmdgbk.reg】【cmdutf8.reg】

    image-20200730112502089

    这两个文件的内容是一样的,只是编码方式不一样而已

    【cmdgbk.reg】是gbk简体中文编码

    【cmdutf8.reg】是 utf-8 统一编码,包括所有语言

    本来我是一开始使用uft-8编码的,但在右键菜单里显示乱码文字,我想这可能是我系统不兼容utf-8编码,于是我选择了gbk编码,就没有乱码了。

    这可能是我个例,所以我放了两个版本的上来,选择运行一个成功就好,不用全都使用。推荐先使用【cmdgbk.reg】,如果成功就不用使用另一个了。

    运行文件

    双击【cmdgbk.reg】运行

    image-20200730113116744

    出现这个界面点击【是】

    image-20200730113651667

    出现这个界面也点击【是】就好

    验证

    选择一个【目录或文件】右键

    image-20200730113752320

    如上图,成功出现【以管理员身份打开命令窗口】,并且【以管理员身份打开命令窗口】文字并没有出现乱码,可以不用运行【cmdutf8.reg】文件了而且以管理员身份打开命令窗口可以使用所有cmd命令了,没有权限限制了。

    成功设置之后,可以删除【cmdgbk.reg】【cmdutf8.reg】了

    其实【shift +右键】也可以出现【以管理员身份打开命令窗口】了。可以自行尝试。

    下面放一下代码,如果有兴趣,可以自行用编辑文本软件创建【cmdgbk.reg】或【cmdutf8.reg】就行。

    Windows Registry Editor Version 5.00
    [HKEY_CLASSES_ROOT\Directory\shell\runas]
    @="以管理员身份打开命令窗口"
    "HasLUAShield"=""
    [HKEY_CLASSES_ROOT\Directory\shell\runas\command]
    @="cmd.exe /s /k pushd \"%V\""
    [-HKEY_CLASSES_ROOT\Directory\Background\shell\runas]
    [HKEY_CLASSES_ROOT\Directory\Background\shell\runas]
    @="以管理员身份打开命令窗口"
    "HasLUAShield"=""
    [HKEY_CLASSES_ROOT\Directory\Background\shell\runas\command]
    @="cmd.exe /s /k pushd \"%V\""
    [-HKEY_CLASSES_ROOT\Drive\shell\runas]
    [HKEY_CLASSES_ROOT\Drive\shell\runas]
    @="以管理员身份打开命令窗口"
    "HasLUAShield"=""
    [HKEY_CLASSES_ROOT\Drive\shell\runas\command]
    <span>@="cmd.exe /s /k pushd \"%V\""</span>
    

    注意编码的选择


    .

    2.【shift +右键】快捷键

    如果没有进行1.设置【直接右键】菜单,出来的就只有【Powershell窗口】。

    【Powershell窗口】和【cmd】在使用上大部分地方是一样的。

    但在一定时候,有一些命令要经过处理才能在【Powershell窗口】使用,这相比【cmd】有的麻烦了。还是【cmd】好用一些。

    image-20200730114932338

    .

    3.在开始屏幕查找

    image-20200730115522876

    4.搜索cmd软件

    image-20200730115630277

    .

    .

    .

    .

    .

    .

    .

    .

    .

    展开全文
  • 说明:【任务计划】,时候被大家称作为【计划任务】,大家习惯上都叫Windows计划任务,实际上人家真的名字叫【任务计划】:请看,真相 之前做项目的时候,遇到过这个不算问题的问题,不隐藏执行界面“小黑...

    说明:【任务计划】,有时候被大家称作为【计划任务】,大家习惯上都叫Windows计划任务,实际上人家真的名字叫【任务计划】:请看,有图有真相


    之前做项目的时候,遇到过这个不算问题的问题,不隐藏执行界面“小黑窗”,程序一样会执行下去,但是如果有人同时在这台电脑上操作,一不小心,误操作把执行的小黑窗关闭了,那就出现问题了,尤其是在生产环境,

    所以就试着尝试几种方法来解决此问题:

    方法1:用不同的账户登录

        比如当前登录的用户是administrator,你可以给新建一个用户【Jack】,在【更改用户或组】的时候,选择这个用户,

    登录的时候不用此户登录,每次执行时就不会出现了“小黑窗”了,注意:这个时候,下面一定要选择【不管用户是否登录都要运行】,

    要不然,此任务计划是不会执行的


    当然在【更改用户或组】的时候,也可以使用 【System】权限,这样就不用来回切用户登录了。


    方法2:使用VBS脚本执行,

    如下两个脚本都可以执行,

    脚本1:

    DIM objShell
    set objShell=wscript.createObject("wscript.shell")
    iReturn=objShell.Run("cmd.exe /C D:\Files\APPService\AppReader.exe", 0, TRUE)
    

    【D:\Files\APPService\AppReader.exe】为要执行的exe文件

    隐藏窗口只需要设置Run的第二个参数为0即可,显示则设置为1;

    脚本2

    Set WinScriptHost = CreateObject("WScript.Shell")
    WinScriptHost.Run Chr(34) & "D:\Files\APPService\AppReader.exe" & Chr(34), 0
    Set WinScriptHost = Nothing

    
    
    隐藏窗口只需要设置Run的第二个参数为0即可,显示则设置为1;

    配置如下图:




    根据需要设置执行的时间间隔:


    完美解决!

    设置窗体隐藏,应该还有好多种方式,这里仅供大家参考。

    如果有好的方式,请大家告知。




    展开全文
  • WINDOWS窗口消息

    千次阅读 2010-07-09 00:28:00
    WINDOWS窗口消息 Windows窗口消息 ...不看不知道,一看吓一跳。原来就只是单单理解了SendMessage和PostMessage。...窗口对象:线程里会有两种特别的对象,即窗口对象和挂钩对象。要知道,进程是分配资...

    WINDOWS窗口消息

    Windows窗口消息

     

    不看不知道,一看吓一跳。原来就只是单单理解了SendMessagePostMessage。前者是发送完要处理后再返回,后者是发送后立即返回,不管有没有处理。但今天仔细看了书上讲解后,才发现原来事情多着呢。

     

    窗口对象:线程里会有两种特别的对象,即窗口对象和挂钩对象。要知道,进程是分配资源的单位,因此,如果我们创建了某些资源,当我们没有明确要求释放的时候,这些资源只有在进程退出时才被释放。 但窗口对象和挂钩对象不同,他们是属于创建他们的线程的。原因是,窗口和挂钩对象的消除需要依靠WM_DESROYWM_NCDESTROY消息,而如果线程退出了,消息循环不再继续,窗口收不到销毁信息,自然是释放不掉了。因此,如果一个线程创建了一个窗口或是安装了一个挂钩,线程结束后,操作系统会自动删除窗口或卸载挂钩。

     

    首先来看看,消息的拥有者,消息队列。

    THREADINFO: 

    每个创建窗口的线程,系统都会为之分配一个THREADINFO结构的实例。这个结构如下

     

    Struct THREADINFO

    {

     PostMessageQueue;  登记消息队列

     VirtualInputMessageQueue; 虚拟输入队列

     SendMessageQueue; 发送消息队列

     ResultMessageQueue; 应答消息队列

     nExitCode; 退出码

     bActive; 唤醒标志

     LocalInputStateValue; 局部输入状态变量

    }

     

    当线程有了THREADINFO后,这个线程就有了自己的消息队列集合。这是每个线程专有的,有多少个线程创建了窗口,就有多少个这样的集合。

     PostMessage:

    先看看UBOOL PostMessage( HWND hwnd,UINT msg,WPARAM,LPARAM);

    当一个线程调用这个函数时,系统要确定是哪一个线程建立了用hwnd参数标识的窗口。然后系统分配一块内存,将这个消息参数存在这块内存中。并将这块内存增加到相应线程的登记消息队列中(Post)。并且,这个函数还设置QS_POSTMESSAGE唤醒位,这个位.然后就返回.调用这个函数的线程并不知道这个消息有没有被处理.

     也可以通过UBOOL PostThreadMessage( DWORD dwThreadId,UINT msg,WPARAM,LPARAM);函数将消息直接放置在线程的消息队列中.通常选择HWNDTHREADID中较方便的一个. 这个函数和上一个一样,发出消息后立即返回.

    向线程发送消息的还有VOID PostQuitMessage(int nExitCode);也可以调用PostThreadMessage(GetCurrentThreadId(),NULL,WM_QUIT,nExitCode,0);来完成这个功能.值得注意的是, PostQuitMessage并不会将消息放入线程的消息队列.只是在内部PostQuitMessage设置QS_QUIT唤醒标志.并设置THREADINFO结构的nExitCode成员.

     SendMessage

    下面来看看SendMessage函数.它与PostMessage有着同样的参数.但是,当一个线程发送一个消息的时候,窗口过程将处理这个消息.只有当消息被处理后.SendMessage函数才返回.

     

    SendMessage发送消息给调用线程和发送消息到另外一个线程的情况是不一样的. 当发送给自己的时候,SendMessage做了类似如下的工作.

    SendMessage(NULL,nMsg,wParam,lParam)

    {

       Return  MsgProc(NULL,nMsg,wParam,lParam);

    }

     

    可以看出,SendMessage只是简单地调用了自己的窗口处理函数,然后待处理完成之后,便返回.但是,当一个线程向其它线程发送消息的时候,情况就复杂多了. 为了保证这个SendMessage函数是要在被处理后再返回,那么就需要线程间的同步.下面将展现了将要做的事.

    1 系统将发送的消息追加到接受线程的消息队列.同时为这个线程设置QS_SENDMESSAGE标志

    2 如果接收线程并没有在等待消息(即不是处于GetMessage,PeekMessage,WaitMessage)的时候,发送的消息不会处理.但是,系统不能中断线程来处理这个消息. 如果接收线程是在等待消息.那么系统首先检测QS_SENDMESSAGE标志,如果是,系统便扫瞄消息列表,并找到第一个消息. 注意,系统只会依次处理他消息队列中的消息. 这个来自于其它线程的消息并不会得到优待.

     

    3 当接收线程在处理消息的时候,发送线程将挂起.并被设置为空闲状态,这表示他在等待他的应答队列中出现消息.当接收线程处理完该消息后.会向发送线程的应答消息队列中发送一个消息,以告知消息处理完成. 当一个线程在等待消息时,它几乎是处于空闲状态.但是它可以执行一个任务.就是如果系统中另外一个线程向这个发送线程发送消息的时候.则它要立即处理这个来自于其它线程的消息.在这种情况下,系统不必等待线程去调用GetMessage,PeekMessage,WaitMessage);

     

     SendNotifyMessage

    还有一个SendNotifyMessage函数.这个函数发送一个消息后便立即返回. PostMessage不同的是,它发送的消息是加入到发送消息队列中的. 而由于系统处理发送消息队列的优先级比登记(post)消息要高. 并且,当一个线程调用这个函数来向自己发送消息时,它的作用和SendMessage一样.

     

     

     

     

    posted @ 2010-07-09 00:28 麒麟子(Alex) 阅读(...) 评论(...) 编辑 收藏
    展开全文
  • Windows程序设计--窗口与消息

    千次阅读 2015-09-09 14:43:04
    进行Windows程序设计时,其实就是在进行一面向对象的编程。在面向对象中,对象是代码和数据的组合,一个窗口也是一个对象。在用户眼中,窗口是屏幕上的对象,并可借助键盘或鼠标直接与之进行交互。用户对窗口的...

    进行Windows程序设计时,其实就是在进行一种面向对象的编程。在面向对象中,对象是代码和数据的组合,一个窗口也是一个对象。

    在用户眼中,窗口是屏幕上的对象,并可借助键盘或鼠标直接与之进行交互。

    用户对窗口的输入以“消息”的形式传递给窗口,而窗口也借助消息来与其他窗口进行通信。

    窗口创建看似容易,调用CreateWindow函数即可。

    但是在创建窗口之前,需要注册一个窗口类。而窗口类又确定了处理窗口消息的窗口过程。
    多个窗口可以同时基于某一窗口类来创建。注册窗口类必须调用RegisterClass函数。该函数只有一个参数,即一个指向WNDCLASS类型的结构的指针。下面我们看看这个结构:

    首先是ASCII版本:

    typedef struct tagWNDCLASSA{ 
        UINT       style; 
        WNDPROC    lpfnWndProc; 
        int        cbClsExtra; 
        int        cbWndExtra; 
        HINSTANCE  hInstance; 
        HICON      hIcon; 
        HCURSOR    hCursor; 
        HBRUSH     hbrBackground; 
        LPCSTR    lpszMenuName; 
        LPCSTR    lpszClassName; 
    } WNDCLASS, *PWNDCLASS; 

    其次是Unicode版本:

    typedef struct tagWNDCLASSW{ 
        UINT       style; 
        WNDPROC    lpfnWndProc; 
        int        cbClsExtra; 
        int        cbWndExtra; 
        HINSTANCE  hInstance; 
        HICON      hIcon; 
        HCURSOR    hCursor; 
        HBRUSH     hbrBackground; 
        LPCWSTR    lpszMenuName; 
        LPCWSTR    lpszClassName; 
    } WNDCLASS, *PWNDCLASS; 
    

    可以看到只有最后两个字段不同,Unicode被定义为宽字符的常量字符串。

    在WNDCLASS中最重要的两个字段是第二个lpfnWndProc和最后一个lpszClassName。
    第二个字段是基于该窗口类的所有窗口的窗口过程的地址。
    最后一个字段是窗口类的名称。

    接下来该是创建了:

    hwnd = CreateWindow(szAppName,                 //窗口类的名称
                        TEXT("The Hello Program"), //窗口标题
                        WS_OVERLAPPEDWINDOW,       //窗口风格
                        CW_USEDEFAULT,             //初始x坐标
                        CW_USEDEFAULT,             //初始y坐标
                        CW_USEDEFAULT,             //初始x方向尺寸
                        CW_USEDEFAULT,             //初始y方向尺寸
                        NULL,                      //父窗口句柄
                        NULL,                      //窗口菜单句柄
                        hInstance,                 //程序实例句柄
                        NULL);                     //创建参数

    创建之后,就该是窗口的显示了。即函数ShowWindow(hwnd, iCmdShow);
    第一个参数就是CreateWindow所创建的窗口的句柄。
    第二个参数就是WinMain函数所接受的iCmdShow值。

    然后调用UpdateWindow(hwnd)进行窗口客户区重绘。

    在UpdateWindow后,新建的窗口在屏幕中便完全可见了。

    此时,该程序必须能够接收来自用户的键盘输入和鼠标输入。是如何做到的呢?
    Windows为当前在其中运行的每一个Windows程序都维护了一个“消息队列”。当输入时间发生后,Windows会自动将这些事件转换为“消息”,并将其放置在应用程序的消息队列中。
    应用程序通过如下代码循环:

    while(GetMessage(&msg, NULL, 0, 0))
    {
        TranslateMessage(&msg);//用于从消息队列中对消息进行检索
        DispatchMessage(&msg);//将msg结构返还给Windows以进行某些键盘消息的转换
    }

    其中msg是一个结构变量,定义如下:

    typedef struct tagMSG {
      HWND   hwnd; 
      UINT   message; 
      WPARAM wParam; 
      LPARAM lParam; 
      DWORD  time; 
      POINT  pt; 
    } MSG, *PMSG; 

    上诉结构中的POINT是另一种结构:

    typedef struct tagPOINT { 
      LONG x; 
      LONG y; 
    } POINT, *PPOINT; 
    

    下面介绍真正有意思的事情–窗口过程
    一个windows程序可以包含多个窗口过程,但一个窗口过程总是与一个通过调用RegisterClass注册的特定窗口类相关联。
    窗口过程总是按照如下定义:

    LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)

    窗口过程函数的四个参数与MSG结构的4个字段一一对应。
    第一个参数:表示接收消息的窗口的句柄
    第二个参数:消息标识符
    最后两个参数:32位的消息参数

    最后就是消息处理了:

    switch(message)
    {
    case WM_CREATE:
         [处理WM_CREATE消息]
         return 0;
    case WM_PAINT:
         [处理WM_PAINT消息]
         return 0;
    
     case WM_DESTROY:
         [处理WM_DESTROY消息]
         return 0;
    }
    return DefWindowProc(hwnd, message, wParam, lParam);
    展开全文
  • Windows窗口及对话框

    千次阅读 2016-02-18 22:19:46
    1、Windows窗口介绍    在Windows系统中,每个窗口对象都对应一个数据结构,形成一个list链表。系统的窗口管理器通过这个list来...而窗口之间的关系有两种:owner-owned(拥有-被拥有关系)、 parent-child(父-子关
  • Windows 窗口层次关系及窗口层次说明

    千次阅读 2016-11-26 14:15:17
    Windows 窗口层次关系及窗口层次说明
  • windows窗口类型

    千次阅读 2015-01-05 19:48:11
    window窗口有下面的几个基本的分类 Overlapped Windows 重叠窗口 Pop-up Windows 弹出窗口 Child Windows窗口 Layered Windows 分层窗口 Message-Only Windows 什么是层叠窗口 层叠窗口最典型的就是我们的...
  • (本文尝试通过一些简单的实验,来分析Windows窗口机制,并对微软的设计理由进行一定的猜测,需要读者具备C++、Windows编程及MFC经验,还得一定动手能力。文中可能出现一些术语不统一的现象,比如“子窗口”,...
  • Windows 窗口层次关系

    千次阅读 2014-05-14 11:08:32
    相信在Windows 下面编程的很多兄弟们都不是很清楚Windows窗口的层次关系是怎么样的,这个东西很久已经研究过一下,后来又忘记了,今天又一次遇到了这个问题,所以便整理一下。下面就说说Windows 中桌面(Desktop...
  • windows程序窗口

    千次阅读 2010-09-29 11:43:00
    Windows系统管理三个独立的Z次序----一个用于顶层窗口、一个用于兄弟窗口、还有一个用于最顶层窗口,最顶层窗口覆盖其他非最顶层窗口,而不管它是不是活动窗口或是前台窗口。应用程序通过设置WS_EX_TOPMOST...
  • windows窗口销毁

    千次阅读 2015-08-10 19:39:12
    考虑单窗口情况: 假设自己通过new创建了一个窗口对象pWnd,然后pWnd->Create。则销毁窗口的调用次序: 1. 手工调用pWnd->DestroyWindow(); 2. DestroyWindow会发送WM_DESTROY; 3. WM_DESTROY对应的消息...
  • Windows程序窗口置前台的几方法

    万次阅读 2012-02-23 15:38:43
    人说,在自己的程序里把自己的窗口之前一般就不灵,而置前其它程序的窗口就灵。我觉得这是原因的:当一个程序运行这个函数的时候,我们可以想象,如果是用鼠标操作,那么当前窗口实际上正在操作,很可能在瞬间...
  • 文章目录一、前言二、使用Spy++工具分析窗口三、C#通过Windows API捕获窗口,获取窗口文本四、附录:Windows窗口消息 一、前言 项目是Unity开发的,上架了QQ游戏大厅,需要兼容XP系统。 QQ游戏大厅启动游戏的流程是...
  • 禁用Windows高DPI的两种方法

    千次阅读 2018-11-09 17:24:31
    Windows的高DPI支持是通过...有两种方式可以实现这种效果:一个是使用应用程序清单文件,一个是使用系统API实现。 1、使用清单文件 这里以Winform为例,右键项目-&gt;添加-&gt;新建项-&gt;应用程序清...
  • 通过Windows进程ID获取窗口句柄

    万次阅读 2016-11-01 11:33:27
    通过Windows进程ID获取窗口句柄的2方法
  • Windows窗口机制

    千次阅读 2014-04-04 22:02:15
    本文是在学习Windows Feature时的笔记:
  • Python向窗口发送快捷键的两种方法

    万次阅读 2012-06-25 09:28:16
    Python向窗口发送快捷键的两种方法: 第一种方法:利用win32api的PostMessage函数发送快捷键: # -*- coding: cp936 -*- import win32api,win32gui,win32con #导入win32api相关模块 self='SE_SogouExplorerFrame'...
  • 使用vc++创建windows透明窗口

    千次阅读 2017-02-04 18:53:13
    使用vc++创建windows透明窗口windows下的透明窗口有不少的实现方法,最简单的当属空画刷啦,但是这篇文章将的是用layer window(分层窗口)来实现透明窗口。 见过vista/win7窗口漂亮的半透明特效吗?用layer ...
  • windows api实现窗口透明整理

    千次阅读 2018-06-28 16:05:33
    1. 实现窗口彻底透明 2.实现背景透明控件不透明一 3.实现背景透明控件不透明正式方案 4.动图显示异常分析 1. 实现窗口彻底透明 实现这种效果的方案网上介绍很多,基本原理都一样,在这里还是重复记录一次。 ...
  • MFC:拖动无标题窗口两种方法

    千次阅读 2012-05-14 17:03:26
    的时候,我们需要自绘窗口的标题,或者隐藏了窗口标题,那么问题来了,这就是怎么拖动无标题的窗口? 这个问题的本质便是怎么在窗口的客户区上,拖动鼠标,并且移动窗口。 通常状态下,一个窗口只有在标题栏的...
  • C++两种方式创建窗口

    千次阅读 2012-09-03 11:30:22
    第一: CreateWindow #include LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd) { static TCHAR ...
  • windows定时启动tomcat的两种方法: (一、无窗口服务式定时重启) 1.安装启动服务: 在命令模式下到相应的tomcat的bin目录下安装服务,如下图 表示安装完成安装完成后(可以在任务管理器的服务栏查看到tomcat7...
  • Windows窗口刷新机制详解

    千次阅读 2017-12-28 16:00:13
    1、Windows窗口刷新管理 窗口句柄(HWND)都是由操作系统内核管理的,系统内部一个z-order序列,记录着当前窗口从屏幕底部(假象的从屏幕到眼睛的方向),到屏幕最高层的一个窗口句柄的排序,这个排序不关注...
  • Windows窗口刷新机制相关

    千次阅读 2014-06-21 20:30:27
    Windows窗口刷新机制 1、Windows窗口刷新管理 窗口句柄(HWND)都是由操作系统内核管理的,系统内部一个z-order序列,记录着当前窗口从屏幕底部(假象的从屏幕到眼睛的方向),到屏幕最高层的一个窗口句柄的...
  • C# WinForm弹出窗口两种方式

    万次阅读 2014-05-04 10:11:59
    程序猿用C#语言编写form程序的时候,都会使用跳出窗口的语句,比如“form.Show()”和“form.ShowDialog()”,那这两种方法什么区别呢? 方法/步骤 1  form.Show()弹出窗口  这个方法弹出来的窗体和父...
  • 答案:通过FindWindow函数获取,参数有两个,分别为窗口名和窗口所属类的类名,输入一个即可,另一个可以为NULL。返回值是HWND类型。需要的头文件是#include &lt;Windows.h&gt;,库为user32.dll。 第二步,...
  • 备份Windows系统环境变量的两种办法

    千次阅读 2015-07-31 16:05:25
    备份Windows系统环境变量有两种办法,一种是使用set命令,还有一种方法是直接到注册中把环境变量部分备份下来。 首先看看Windows系统环境变量在如下两个位置: 系统环境变量:HKEY_LOCAL_MACHINE\SYSTEM\...
  • 对于窗口的类型和大小,是在创建窗口时设定的,而图标、光标和背景是在设计窗口类时指定的,WNDCLASS 结构体就是我们所说的窗口类, 该结构体指定了窗口的相关属性,包括图标,光标,背景以及窗口类的名字,具体...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 275,287
精华内容 110,114
关键字:

windows7有两种窗口