精华内容
下载资源
问答
  • Windows API 编程之创建一个windows窗口

    千次阅读 2016-10-08 21:04:06
    windows API函数 创建一个windows窗口

    直接上代码。

    /**************************************************************************************
     *  问题:使用windows API函数创建一个windows窗口
     *  作者:李文顺
     *  步骤:
     *      1、注册窗口类 (RegisterClassEx)
     *      2、创建窗口      (CreateWindowsEx)
     *      3、在桌面显示窗口   (ShowWindows)
     *      4、更新窗口客户区   (UpdataWindows)
     *      5、进入无限循环的消息获取和处理的循环。
     *          GetMessage ,获取消息
     *          TranslateMessage ,转换键盘消息     
     *          DispatchMessage ,将消息发送到相应的窗口函数
     **************************************************************************************/
     *      修改:修改一些注释,更准确。
     *      时间:20161229
     **************************************************************************************/
    #include <windows.h>
    
    //函数申明
    LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);
    
    //全局变量
    char titleName[]="你随意"; //窗口标题
    
    //图形界面程序的入口
    int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow)
    {
        //定义窗口类(扩展)
        WNDCLASSEX wcex;    
    
        //设置窗口的属性
        wcex.cbSize         = sizeof(WNDCLASSEX);   
        wcex.style          = CS_HREDRAW | CS_VREDRAW;  //从这个窗口派生出的窗口具有的风格
        wcex.lpfnWndProc    = (WNDPROC)WndProc;         //窗口消息处理函数指针
        wcex.cbClsExtra     = 0;
        wcex.cbWndExtra     = 0;
        wcex.hInstance      = hInstance;
        wcex.hIcon          = NULL;         //窗口最小化图标
        wcex.hCursor        = LoadCursor(NULL, IDC_ARROW);              
        wcex.hbrBackground  = (HBRUSH)(COLOR_WINDOW+1);
        wcex.lpszMenuName   = NULL;
        wcex.lpszClassName  = titleName;    //该窗口类的名称
        wcex.hIconSm        = NULL;         //左上角图标
    
        //注册窗口
        ::RegisterClassEx(&wcex);   
    
        HWND hWnd;
        //创建窗口
        hWnd = ::CreateWindow(titleName, titleName, WS_OVERLAPPEDWINDOW,
            CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL);
    
        if (!hWnd)return FALSE; //创建窗口失败,返回
    
        //显示窗口
        ::ShowWindow(hWnd, nCmdShow);
        //刷新窗口客户区
        ::UpdateWindow(hWnd);
    
        //循环获取\处理消息
        MSG msg;     
        while(::GetMessage(&msg,0,0,0))     
        {     
            ::TranslateMessage(&msg);   //转换键盘消息     
            ::DispatchMessage(&msg);    //将消息发送到相应的窗口函数
        } 
    
        return (int)msg.wParam; 
    }
    
    
    //窗口消息处理函数
    LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
    {
        HDC hDC;
        RECT rect;
        PAINTSTRUCT ps;
    
        switch(message)
        {
        case WM_PAINT:
            hDC = ::BeginPaint(hWnd,&ps);   //使无效的客户区变得有效,并取得环境设备
    
            //自定义
            {
                ::GetClientRect(hWnd,&rect);    //获取窗口客户区的大小
                ::DrawText(hDC,TEXT("HELLO WORLD"),-1,&rect, DT_SINGLELINE | DT_CENTER | DT_VCENTER);   //在指定的矩形里写入格式化的正文
            }
    
            ::EndPaint(hWnd,&ps);   //释放环境变量句柄,和::BeginPaint 配套使用   
            break; 
        case WM_DESTROY:
            ::PostQuitMessage(0);   //该函数向消息队列中插入一条 WM_QUIT 消息,由 GetMessage 函数捕获返回 0 而退出程序
            break;
        }
    
        return ::DefWindowProc(hWnd,message,wParam,lParam);
    }
    
    展开全文
  • python操作Windows窗口程序

    万次阅读 多人点赞 2018-03-16 17:23:09
    场景 定时获取数据接口数据写入Excel表格,Excel需要被其他程序使用,需要...其次,为了方面查找目标窗口的句柄,可以下载一个微软自家的Spy++,这玩意儿满大街都是。有了它,还能很方便的查看窗体的消息。 句柄是...

    想要看更加舒服的排版、更加准时的推送
    关注公众号“不太灵光的程序员”
    每日八点有干货推送

    场景

    定时获取数据接口数据写入Excel表格,Excel需要被其他程序使用,需要处于开启状态。

    Pywin32

    首先,安装一个Pywin32,为python提供访问Windows API的扩展,提供了齐全的windows常量、接口、线程以及COM机制等等。其次,为了方面查找目标窗口的句柄,可以下载一个微软自家的Spy++,这玩意儿满大街都是。有了它,还能很方便的查看窗体的消息。
    句柄是一个32位整数,在windows中标记对象用,类似一个dict中的key。
    消息是windows应用的重要部分,用来告诉窗体“发生了什么”,比如给一个按钮发送BN_CLICKED这么个消息,按钮就知道“哦,我被点了”,才能执行相应的下一步操作。本文将大量使用消息机制。详情参看这篇文章。

    查找窗体句柄

    貌似在win32编程的世界里,包括窗口到文本框的所有控件就是窗体,所有的窗体都有独立的句柄。要操作任意一个窗体,你都需要找到这个窗体的句柄,这里,我们就可以用到FindWindow函数和FindWindowEx函数。在pywin32中,他们都属于win32gui的模块。
    python获取窗口句柄

    FindWindow(lpClassName=None, lpWindowName=None):

    描述:自顶层窗口(也就是桌面)开始搜索条件匹配的窗体,并返回这个窗体的句柄。不搜索子窗口、不区分大小写。找不到就返回0
    参数:
    lpClassName:字符型,是窗体的类名,这个可以在Spy++里找到。
    lpWindowName:字符型,是窗口名,也就是标题栏上你能看见的那个标题。
    说明:这个函数我们仅能用来找主窗口。
    ####FindWindowEx(hwndParent=0, hwndChildAfter=0, lpszClass=None, lpszWindow=None);
    描述:搜索类名和窗体名匹配的窗体,并返回这个窗体的句柄。不区分大小写,找不到就返回0。
    参数:
    hwndParent:若不为0,则搜索句柄为hwndParent窗体的子窗体。
    hwndChildAfter:若不为0,则按照z-index的顺序从hwndChildAfter向后开始搜索子窗体,否则从第一个子窗体开始搜索。
    lpClassName:字符型,是窗体的类名,这个可以在Spy++里找到。
    lpWindowName:字符型,是窗口名,也就是标题栏上你能看见的那个标题。
    说明:找到了主窗口以后就靠它来定位子窗体啦。

    菜单操作

    有了句柄,我们就可以操作FaceGen了!嗯,要先打开文件,File→Open,然后再File→Save Image(很悲剧,Save Image没有快捷键,所以不得不进行菜单操作)。现在我们有了FindWindow和FindWindowEx,要怎么操作菜单呢?

    哦,抱歉,靠他俩还做不到。

    窗口的菜单就像窗口的标题栏一样,是窗口自身的一部分,不是其他窗体控件,也就没有办法用FindWindow和FindWindowEx返回句柄。所以要对菜单进行操作的话,我们需要新的函数,也就是GetMenu,GetSubMenu和GetMenuItemID,它们也都属于win32gui模块。结合下图来说:

    PostMessage(hWnd, Msg, wParam, lParam)

    描述:在消息队列中加入为指定的窗体加入一条消息,并马上返回,不等待线程对消息的处理。
    参数:
    hWnd:整型,接收消息的窗体句柄
    Msg:整型,要发送的消息,这些消息都是windows预先定义好的,可以参见系统定义消息(System-Defined Messages)
    wParam:整型,消息的wParam参数
    lParam:整型,消息的lParam参数
    说明:简单说,就是给指定程序发一个消息,这些消息都用整型编好号,作为windows的常量可以查询的。在这里,我们用的就是win32con这个库里定义的WM_COMMAND这个消息,具体的wParam和lParam是根据消息的不同而不同的。具体请根据MSDN查阅。

    GetMenu(hwnd)

    描述:获取窗口的菜单句柄。
    参数:
    hwnd:整型,需要获取菜单的窗口的句柄。
    说明:获取的是插图中黄色的部分。

    GetSubMenu(hMenu, nPos)

    描述:获取菜单的下拉菜单或者子菜单。
    参数:
    hMenu:整型,菜单的句柄,从GetMenu获得。
    nPos:整型,下拉菜单或子菜单的的索引,从0算起。
    说明:这个可以获取插图中蓝色的部分;如描述所述,这个不仅可以获取本例中的下拉菜单,还可以获取子菜单。

    GetMenuItemID(hMenu, nPos)

    描述:获取菜单中特定项目的标识符。
    参数:
    hMenu:整型,包含所需菜单项的菜单句柄,从GetSubMenu获得。
    nPos:整型,菜单项的索引,从0算起。
    说明:这个获取的就是红色区域中的项目啦,注意,分隔符是被编入索引的,所以Open的索引是2而非1,而Exit的索引是9而非6。

    控件操作

    在这里,我们用了SendMessage而不是PostMessage,其区别就在于我们可以通过SendMessage取得消息的返回信息。因为对于我们要设置文本框信息的WM_SETTEXT信息来说,设置成功将返回True。

    SendMessage(hWnd, Msg, wParam, lParam)

    描述:在消息队列中加入为指定的窗体加入一条消息,直到窗体处理完信息才返回。
    参数:
    hWnd:整型,接收消息的窗体句柄
    Msg:整型,要发送的消息,这些消息都是windows预先定义好的,可以参见系统定义消息(System-Defined Messages)
    wParam:整型,消息的wParam参数
    lParam:整型,消息的lParam参数
    说明:wParam和IParam根据具体的消息不同而有不同的定义,详情参阅Part 2.

    问题

    在开发机器上是可以正常运行的,但是换在其他机器上就会报1400的错误

    盐池数据同步已开启 >> 西部绿谷数据.xls
    盐池数据本次同步已完成 时间 2018-03-16 14:34:01  数据60分钟后更新 >> 西部绿谷数据.xls
    Traceback (most recent call last):
      File "data_acquisition_3600.py", line 414, in <module>
    pywintypes.error: (1400, 'CloseWindow', '\xce\xde\xd0\xa7\xb5\xc4\xb4\xb0\xbf\xda\xbe\xe4\xb1\xfa\xa1\xa3')
    Failed to execute script data_acquisition_3600
    

    pywintypes.error 1400 开始以为是编码问题,发现还是找不到窗口句柄,后来发现获取窗口句柄和进程中的名字有关,不同版本的操作系统、Excel的窗口名称和进程名都不一致,需要特别注意。

    进程名

    这里写图片描述

    窗口名

    这里写图片描述

    代码

    # -*- coding:utf-8 -*-
    """
    Created on 2018/3/12
    
    @author: jj
    """
    import urllib
    import json
    import xlwt
    import copy
    import time
    import os
    import win32gui
    import win32con
    
    def write_ex(data):
        """
        数据 写 文件
        :param data:
        :return:
        """
        file = xlwt.Workbook(encoding='utf-8')
        table = file.add_sheet("sheet1")
        params = ['类型', '项目名称', '设备编号', '阀门开关', '泵1开关', '泵2开关', '水位', '上报时间', '水池大小', '管径']
        params_code = ['leixing', 'name', 'code', 'famen', 'ben1', 'ben2', 'shuiwei', 'date', 'daxiao', 'guanjing']
        for index, item in enumerate(params):
            table.write(0, index, item)
        table.write(0, 10, time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())))
        for l_index, equipment in enumerate(data):
            for j_index, item in enumerate(params_code):
                table.write(l_index+1, j_index, equipment.get(item))
        filename = u"西部绿谷数据.xls"
        file_path = os.path.join(filename)
        file.save(file_path)
    
    if __name__ == '__main__':
        print u'盐池数据同步已开启 >> 西部绿谷数据.xls'
        while True:
            get_api()
            print u'盐池数据本次同步已完成 时间 %s  数据5分钟后更新 >> 西部绿谷数据.xls' % time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))
            os.startfile(u"西部绿谷数据.xls")   # 打开文件
            wndtitle = u"西部绿谷数据.xls  [兼容模式] - Excel"   # 进程名
            wndclass = None
            wnd = win32gui.FindWindow(wndclass, wndtitle)    # 获取窗口句柄
            win32gui.CloseWindow(wnd)      # 窗口最小化
            time.sleep(300)
            win32gui.SendMessage(wnd, win32con.WM_CLOSE)   # 关闭窗口
    

    推荐阅读:

    展开全文
  • 编写一个Windows窗口应用程序

    千次阅读 2017-08-16 10:49:52
    编写一个Windows窗口应用程序使用VS2008,64位编译器。 1.打开VS2008,新建一个空项目2.在项目中添加.cpp文件3.输入代码如下 #include <windows.h> #include <stdio.h>LRESULT CALLBACK WinHuProc( HWND hwnd, // ...

    编写一个Windows窗口应用程序

    使用VS2008,64位编译器。

    • 1.打开VS2008,新建一个空项目
    • 打开VS2008,新建一个空项目
    • 2.在项目中添加.cpp文件
    • 这里写图片描述
    • 3.输入代码如下
    #include <windows.h>
    #include <stdio.h>
    
    LRESULT CALLBACK WinHuProc(
        HWND hwnd,      // handle to window
        UINT uMsg,      // message identifier
        WPARAM wParam,  // first message parameter
        LPARAM lParam   // second message parameter
                                );
    
    int WINAPI WinMain(
        HINSTANCE hInstance,        // handle to current instance
        HINSTANCE hPrevInstance,    // handle to previous instance
        LPSTR lpCmdLine,            // command line
        int nCmdShow                // show state
                       )
    {
        //设计一个窗口类
        WNDCLASS wndcls;
        wndcls.cbClsExtra=0;
        wndcls.cbWndExtra=0;
        wndcls.hbrBackground=(HBRUSH)GetStockObject(BLACK_BRUSH);
        wndcls.hCursor=LoadCursor(NULL,IDC_CROSS);
        wndcls.hIcon=LoadIcon(NULL,IDI_ERROR);
        wndcls.hInstance=hInstance;     //应用程序实例句柄由WinMain函数传进来
        wndcls.lpfnWndProc=WinHuProc;
        wndcls.lpszClassName="simpleframe";
        wndcls.lpszMenuName=NULL;
        wndcls.style=CS_HREDRAW | CS_HREDRAW;
        RegisterClass(&wndcls);
    
        //创建窗口,定义一个变量用来保存成功创建窗口后返回的句柄
        HWND hwnd;
        hwnd=CreateWindow("simpleframe","12345",
            WS_OVERLAPPEDWINDOW,0,0,600,400,NULL,NULL,hInstance,NULL);
        //显示及刷新窗口
        ShowWindow(hwnd,SW_SHOWNORMAL);
        UpdateWindow(hwnd);
    
        //定义消息结构体,开始消息循环
        MSG msg;
        while (GetMessage(&msg,NULL,0,0))
        {
            TranslateMessage(&msg);
            DispatchMessage(&msg);
        }
        return msg.wParam;
    }
        //编写窗口过程函数
        LRESULT CALLBACK WinHuProc(
            HWND hwnd,      // handle to window
            UINT uMsg,      // message identifier
            WPARAM wParam,  // first message parameter
            LPARAM lParam   // second message parameter
            )
        {
            switch(uMsg)
            {
            case WM_CHAR:
                char szChar [20];
                sprintf (szChar,"char code is %d",wParam);
                MessageBox(hwnd,szChar,"char",0);
                break;
            case WM_LBUTTONDOWN:
                MessageBox(hwnd,"mouse clicked","message",0);
                HDC hdc;
                hdc=GetDC(hwnd);        //不能再响应WM_PAINT消息时调用
                TextOut (hdc,0,50,"程序员之家",strlen("程序员之家"));
                //ReleaseDC (hwnd,hdc);
                break;
            case WM_PAINT:
                HDC hDC;
                PAINTSTRUCT ps;
                hDC=BeginPaint(hwnd,&ps);       //BeginPaint 只能在响应WM_PAINT消息时调用
                TextOut(hdc,0,0,"12345",strlen("12345"));
                EndPaint(hwnd,&ps);
                break;
            case WM_CLOSE:
                if (IDYES == MessageBox(hwnd,"是否真的结束?","message",MB_YESNO))
                {
                    DestroyWindow(hwnd);
                }
                break;
            case WM_DESTROY:
                PostQuitMessage(0);
                break;
            default:
                return DefWindowProc(hwnd,uMsg,wParam,lParam);
            }
            return 0;
        }
    
    • 4.选择x64编译器
    • 这里写图片描述
    • 5.编译运行

    - 这里写图片描述

    代码来源:《VC深入详解》第一章

    展开全文
  • VC++创建一个Windows窗口程序

    千次阅读 2012-09-19 16:50:33
    创建一个完整的Windows窗口程序主要步骤为 WinMain函数的定义创建一个窗口编写消息循环编写窗口过程函数 窗口的创建: 消息循环: 在创建、显示、更新窗口之后,我们需要编写一个消息循环,不断从消息...
    本文为《VC++深入详解》第一章的笔记
    

    创建一个完整的Windows窗口程序主要步骤为

    1. WinMain函数的定义
    2. 创建一个窗口
    3. 编写消息循环
    4. 编写窗口过程函数

    窗口的创建:


    消息循环:
    在创建、显示、更新窗口之后,我们需要编写一个消息循环,不断从消息队列中取出消息,并进行响应。

    GetMessage(),Peekmessage()从消息队列中取出消息,并保存在消息结构体中。

    TranslateMessage(LPMSG  lpMsg)将虚拟键消息转换为字符消息。它并不会修改原有的消息,只是产生新的消息并投递到消息队列中。

    DispatchMessage(LPMSG  lpMsg)分派一个消息到窗口过程,由窗口过程函数对消息进行处理。实际上是将消息回传给操作系统,由操作系统调用窗口过程函数对消息进行处理(响应)。
    WIndows的应用程序消息处理机制:

    1. 操作系统接收到应用程序的窗口消息,将消息投递到应用程序的消息队列中。
    2. 应用程序在消息循环中调用Getmessage函数从消息队列中取出一条一条的消息。取出消息后,应用程序可以对消息进行一些预处理,例如,放弃对某些消息的响应,或者调用TranslateMessage产生新的消息。
    3. 应用程序调用Dispatchmessage,将消息回传给操作系统。
    4. 系统利用WNDCLASS结构体的lpfnWndProc的成员保存的窗口过程函数的指针调用窗口过程,对消息进行处理。
    编写窗口过程函数

    剩下的工作就是编写一个窗口过程函数,用于出路发送给窗口的消息。


    完整实例FirstWindowApp:
    新建空白Win32项目,新建源文件FirstWindowApp.cpp

    //FirstWindowApp
    #include <windows.h>
    #include <stdio.h>
    
    //声明回调函数
    LRESULT CALLBACK WinProc(
    	HWND hwnd,      // handle to window
    	UINT uMsg,      // message identifier
    	WPARAM wParam,  // first message parameter
    	LPARAM lParam   // second message parameter
    	);
    
    //定义WinMian函数
    int WINAPI WinMain(
    	HINSTANCE hInstance,      // handle to current instance
    	HINSTANCE hPrevInstance,  // handle to previous instance
    	LPSTR lpCmdLine,          // command line
    	int nCmdShow              // show state
    	)
    {
    
    	//设计一个窗口类
    	WNDCLASS wndcls;
    	wndcls.cbClsExtra=0;
    	wndcls.cbWndExtra=0;
    	wndcls.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);
    	wndcls.hCursor=LoadCursor(NULL,IDC_ARROW);
    	wndcls.hIcon=NULL;
    	//wndcls.hIcon=LoadIcon(NULL,IDI_ERROR);
    	wndcls.hInstance=hInstance;
    	wndcls.lpfnWndProc=WinProc;
    	wndcls.lpszClassName="FirstWindowApp";
    	wndcls.lpszMenuName=NULL;
    	wndcls.style=CS_HREDRAW | CS_VREDRAW;
    	RegisterClass(&wndcls);
    
    	//创建窗口,并保存成功创建窗口后返回的句柄
    	HWND hwnd;
    	hwnd=CreateWindow("FirstWindowApp","FirstWindowApp",WS_OVERLAPPEDWINDOW,
    		CW_USEDEFAULT,CW_USEDEFAULT,600,400,NULL,NULL,hInstance,NULL);
    
    	//显示及更新窗口
    	ShowWindow(hwnd,SW_SHOWNORMAL);
    	UpdateWindow(hwnd);
    
    	//定义消息结构体,开始消息循环
    	MSG msg;
    	while(GetMessage(&msg,NULL,0,0))
    	{
    		TranslateMessage(&msg);
    		DispatchMessage(&msg);
    	}
    	return msg.wParam;
    }
    
    
    //定义窗口回调函数
    LRESULT CALLBACK WinProc(
    	HWND hwnd,      // handle to window
    	UINT uMsg,      // message identifier
    	WPARAM wParam,  // first message parameter
    	LPARAM lParam   // second message parameter
    	)
    {
    	switch(uMsg)
    	{
    	case WM_CHAR:
    		char szChar[20];
    		sprintf(szChar,"char code is %d",wParam);
    		MessageBox(hwnd,szChar,"char",0);
    		break;
    	case WM_LBUTTONDOWN:
    		MessageBox(hwnd,"mouse clicked","message",0);
    		HDC hdc;
    		hdc=GetDC(hwnd);
    		TextOut(hdc,0,50,"Hello Windows",strlen("Hello Windows"));
    		//ReleaseDC(hwnd,hdc);
    		break;
    	case WM_PAINT:
    		HDC hDC;
    		PAINTSTRUCT ps;
    		hDC=BeginPaint(hwnd,&ps);
    		TextOut(hDC,0,0,"FirstWindowApp",strlen("FirstWindowApp"));
    		EndPaint(hwnd,&ps);
    		break;
    	case WM_CLOSE:
    		if(IDYES==MessageBox(hwnd,"是否真的退出?","message",MB_YESNO))
    		{
    			DestroyWindow(hwnd);
    		}
    		break;
    	case WM_DESTROY:
    		PostQuitMessage(0);
    		break;
    	default:
    		return DefWindowProc(hwnd,uMsg,wParam,lParam);
    	}
    	return 0;
    }


    展开全文
  • python操作windows窗口获取窗口句柄

    万次阅读 多人点赞 2019-11-06 09:16:54
    Windows下获取窗口句柄时操作系统版本和软件版本对获取有影响,就会出现在本地调试正常的程序,交付使用的时候报错。 查看windows所有可显示的窗口句柄及窗口名称。 # -*- coding: utf-8 -*- """ File Name ...
  • windows切换窗口,取消edge窗口为多

    千次阅读 多人点赞 2021-02-08 17:09:26
    需要修改 按Alt+Tab将显示这样在切换窗口时,edge窗口就为一个 原图无法截取 设置: 1. 点击设置,找到系统,找到多任务处理 系统默认图 2. 需要修改 按Alt+Tab将显示 如图: 这样在切换窗口时,edge窗口就为一个...
  • Windows窗口消息大全

    热门讨论 2013-05-24 11:16:10
    Windows窗口消息大全,全不全自己看
  • windows窗口类型

    千次阅读 2015-01-05 19:48:11
    windows建立的是怎样的一套窗口理论体系, window窗口有下面的几个基本的分类 Overlapped Windows 重叠窗口 Pop-up Windows 弹出窗口 Child ...层叠窗口最典型的就是我们的一个应用窗口的主窗口,如果用WS_OVERLAP
  • Windows游戏开发感想&&一个完整的Windows窗口程序

    千次阅读 多人点赞 2017-03-31 15:18:28
    现在的互联网行业从事Windows游戏开发的人实在是太少了。是因为门槛较高,游戏行业本来就是互联网行业最尖端的领域,要想从事游戏开发,不仅要掌握一门过硬的语言,尤其是对C++的精通,还要对算法非常精通,深刻...
  • Windows窗口及对话框

    千次阅读 2016-02-18 22:19:46
    1、Windows窗口介绍    在Windows系统中,每个窗口对象都对应有一个数据结构,形成一个list链表。系统的窗口管理器通过这个list来获取窗口信息和管理窗口,这个数据结构中有四个数据用来构建list,即child、...
  • 一个常规的windows窗口一般都是一些一样的构造,你如果想要更改一些个性化的设置,你可以在这个一般的模板伤添砖加瓦,构造自己比较喜欢的类型,下边就分析一下一般的windows窗口的一般模板。 一. 首先看一下一般...
  • 最初了解Windows api编程呢,就是先创建出一个最简洁的窗口,就如我们学习C/C++时的"Helloword"一样,这是进入windows编程大门的重要一个步,下面就开始吧...  大家都知道C/C++中,程序的执行是从main()...
  • Windows 窗口层次关系

    千次阅读 2014-05-14 11:08:32
    相信在Windows 下面编程的很多兄弟们都不是很清楚Windows窗口的层次关系是怎么样的,这个东西很久... 在Windows 的图形界面下,最基本显示信息的元素就是窗口,每一个Windows 窗口都管理着自己与其他窗口之间的关系
  • windows.h&gt; //窗口过程回调函数 LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd) { H.....
  • Windows窗口风格~Windows Style

    千次阅读 2015-07-01 13:56:05
    Windows窗口风格~Windows Style
  • windows图标键 + 向下键 所以猜猜最大化窗口快捷键是啥? windows图标键 + 向上键 转载于:https://www.cnblogs.com/chengxuyuan326260/p/11237215.html
  • Windows如何平铺两个窗口

    千次阅读 2018-11-23 17:52:44
    1、首先要打开多个窗口,一定不能全屏 2、选中其中一个窗口按“win+向左或是向右键”(按三秒不动,直到出现透明界面),其中这个界面靠向你想要的方向;鼠标选中另一个透明界面,按enter键,则两个窗口平铺 ...
  • Windows程序设计:第一个窗口

    千次阅读 2009-10-22 21:53:00
    .dml {border:2px solid green;width:200px;background-color:#eeeeee;margin:0 0 0 0}.ddm {background-color:#cccccc;margin-left:0mm} 目录: 1.窗口程序 2.分析 注册窗口类别
  • windows程序窗口

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

    千次阅读 2018-07-06 16:14:16
    案例:FailureMessage = FText::Format( LOCTEXT("PrimaryGameModuleCouldntBeLoaded", "The game module '{0}' could not be loaded. There may be an operating system error or the module may ...
  • python操作Windows窗口

    万次阅读 2018-07-12 17:16:13
    pywin32是 python 中访问 windows API 的一个扩展 pywin32gui documentation 2.4 pywin32gui documentation 3.3 1. 根据窗口名获取窗口句柄 from win32gui import FindWindow handler = FindWindow(None, 'xxx...
  • 选择一个窗口然后按快捷键ctrl+alt+space就能将窗口显示在最前了,对其他窗口操作它也不会消失,非常方便: 除此之外,它还有直接从列表选择窗口的功能: 参考文章:Window TopMost Control 1.0 绿色版_窗口...
  • 修改Windows窗口标题

    万次阅读 2019-08-21 08:07:48
    通过C/C++语言调用windows APi函数修改正在运行的程序窗口标题
  • c#中实现按钮弹出另一个windows窗口

    千次阅读 2015-07-22 14:15:36
    private void button9_Click(object sender, EventArgs e)  {  using (caozuo dlg=new caozuo ()) //caozuo是窗口类名,确保访问;后面的是构造函数  {  dlg.ShowDialog();  
  • 如题 怎么获取所有的windows窗口句柄 怎么获取所有的windows窗口句柄 怎么获取所有的windows窗口句柄 怎么获取所有的windows窗口句柄 怎么获取所有的windows窗口句柄
  • Windows窗口机制

    千次阅读 2014-04-04 22:02:15
    本文是在学习Windows Feature时的笔记:
  • html+css+js仿windows桌面、windows窗口

    热门讨论 2013-04-13 17:11:44
    用html、css、js实现的windows桌面和窗口。包括开始菜单、状态蓝、窗口等。...每个窗口可以指向一个页面作为显示内容,可以做系统界面。 如果作为web项目主界面可以让用户像操作windows一样操作web程序。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 732,889
精华内容 293,155
关键字:

windows的窗口是一个什么