精华内容
下载资源
问答
  • 2019-07-16 19:44:01

    突然想做一个透明的windows窗口置顶,可以放一些信息上去,这样查阅资料方便。就像音乐播放器的歌词一样。慢慢学吧,第一步先学会做窗口。
    参考:
    https://brothergrup.iteye.com/blog/1602789
    透明窗口:
    https://blog.csdn.net/bjbz_cxy/article/details/81119772
    #include <Windows.h> //windows窗口标准库函数
    #include <stdio.h> //c语言需要的库函数

    LRESULT CALLBACK WindowProc(//窗口过程函数原型  
      HWND hwnd,      // handle to window  
      UINT uMsg,      // message identifier  
      WPARAM wParam,  // first message parameter  
      LPARAM lParam   // second message parameter  
    );  
    int WINAPI WinMain(//窗口主函数,相当于 DOS下的main函数  
      HINSTANCE hInstance,  // handle to current instance  
      HINSTANCE hPrevInstance,  // handle to previous instance  
      LPSTR lpCmdLine,      // pointer to command line  
      int nCmdShow          // show state of window  
      )  
    {  
          WNDCLASS wcs;  
          wcs.cbClsExtra=0; //窗口类附加参数  
          wcs.cbWndExtra=0; //窗口附加参数  
          wcs.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);//窗口DC背景  
          wcs.hCursor=LoadCursor(hInstance,IDC_CROSS); //鼠标样式  
          wcs.hIcon=LoadIcon(NULL,IDI_ERROR);//窗口icon  
          wcs.hInstance=hInstance;//应用程序实例  
          wcs.lpfnWndProc=WindowProc;   
          wcs.lpszClassName="练习窗口";   
          wcs.lpszMenuName=NULL;    
          wcs.style=CS_VREDRAW|CS_HREDRAW;  
          RegisterClass(&wcs);   
          HWND hWnd;   
          hWnd=CreateWindow("练习窗口","练习窗口",WS_OVERLAPPEDWINDOW,0,0,600,600,NULL,NULL,hInstance,NULL);  
          ShowWindow(hWnd,nCmdShow);      
          UpdateWindow(hWnd);    
          MSG msg;                 
          //消息循环  
          while(GetMessage(&msg,0,NULL,NULL))  
          {  
            TranslateMessage(&msg);  
            DispatchMessage(&msg);  
          }  
          return 0;  
    }  
    LRESULT CALLBACK WindowProc(   
      HWND hwnd,      // handle to window  
      UINT uMsg,      // message identifier  
      WPARAM wParam,  // first message parameter  
      LPARAM lParam   // second message parameter  
      )  
    {  
        switch(uMsg)  
        {  
        case WM_CLOSE:  
            DestroyWindow(hwnd);  
            break;  
        case WM_DESTROY:  
            PostQuitMessage(0);  
            break;  
        default:     
            return DefWindowProc(hwnd,uMsg,wParam,lParam);  
            break;  
        }  
        return 0;  
    }  
    
    更多相关内容
  • C++ Windows窗口编程方法解释,包括MFC方式的SDI、MDI方式
  • Windows窗口高级编程

    2018-06-25 15:20:53
    但是对于要在最短的时间内迅速掌握窗口编程的技术,则需要一个实用而系统的教程。本视频教程就是要完成这个目标,看完这个系列的视频教程后,大家就可以熟练地完成本讲座的综合题,也就打下了界面编程的扎实基础。
  • 主要介绍了C#窗体编程windows forms)禁止窗口最大化的方法,以及避免弹出系统菜单禁止窗口拖拽的方法,需要的朋友可以参考下
  • windows编程 窗口~

    2011-06-10 23:11:08
    windows 编程 窗口 源代码 在vc上直接编译运行就可以使用了~
  • 多窗体编程案例windows亲测有效运行良好↑
  • 主要介绍了C语言创建windows窗口实例,本文直接给出实现代码,同时讲解了编码的步骤,需要的朋友可以参考下
  • Windows OS上隐藏显示程序窗口的实用程序 截屏 下载 最新版本可以在找到 特征 隐藏显示窗口的能力 热键支持 取消隐藏程序退出时的所有窗口 防止隐藏同一窗口 计划功能 配置文件 可自定义的热键 命令行参数
  • windows进程查看器

    2019-03-12 18:40:14
    processViewer是一个开源的进程浏览器内存编辑器,支持内存搜索已经提供一个强大的 run-as 工具。可以用来显示Windows系统下的服务、进程、线程、模块、句柄以及内存区域的数据。
  • 作为Microsoft 32位平台的应用程序编程接口,Win32 API是从事Windows应用程序开发所必备的。本书首先对Win32 API函数做完整的概述;然后收录五大类函数:窗口管理、图形设备接口、系统服务、国际特性以及网络服务;...
  • 创建一个windows窗口程序,含有4个菜单项,分别用来创建撤消记事本进程和计算器进程。若相应进程已经创建了,再选择创建进程菜单,则弹出对话框提示进程已经创建;若进程已经撤消了,再选择撤消进程菜单,则弹出对话框...
  • 查看句柄,获取HANDLE,用于windows编程获取某窗口句柄
  • 主要介绍了VC实现A进程窗口嵌入到B进程窗口中显示的方法,对于理解windows程序运行原理的进程问题有一定的帮助,需要的朋友可以参考下
  • windows 10 窗口顶置工具,可以使你的指定窗口显示在最前面,喜欢的小伙伴可以试一试哦。。。。。
  • windows窗口查询器

    2018-12-08 18:16:12
    在做编程时经常遇到隐藏窗口,且进程看不到,用此工具可以查到到计算机是否开启某窗口
  • Windows窗口编程

    2014-07-10 13:01:24
    通过一个计算器的例子阐述了如何进行窗口编程,资源包括源码及PPT介绍!
  • 启动程序,隐藏DOS窗口 创建一个进程等这个进程执行完毕再继续往下执行.zip
  • Microsoft Spy++是一个非常好的查看Windows操作系统的窗口、消息、进程、线程信息的工具,简单易用,功能强大。
  • Windows编程捕获特定窗口及键盘鼠标消息模拟一、简介二、使用到的API简介三、获取Windows记事本的编辑区窗口的句柄并模拟输入操作1、分析2、代码一3、代码二四、后记 一、简介 窗口Windows的核心组件,Windoows下...

    一、简介

    窗口是Windows的核心组件,Windoows下的绝大部分应用都是利用Windows提供的原生窗口,通过一些GUI编程框架(如Qt,MFC)加以渲染来生成的。本质上讲,这些框架都是基于Windows提供的一些API函数作进一步封装来实现的。

    对于一个应用程序最重要的功能就是与人的交互,使得我们可以通过键盘输入和鼠标输入来实现对应用程序的控制。

    Windows是利用消息(Message)来实现窗口与用户的输入之间通信的,当应用程序在内存中初始化注册成功后,操作系统会为应用程序创建一个消息队列,应用程序通过在消息队列中取出消息来判断要执行的相应操作,具体如下:
    在这里插入图片描述

    • ① 操作系统捕获用户的键盘或者鼠标输入。
    • ② 操作系统根据当前的焦点窗口判断当前用户的输入是属于哪一个应用的,然后将消息投递到相应的应用程序的消息队列中。
    • ③ 应用程序调用GetMessage()函数从消息队列中获取一条消息,根据消息的类型(比如按下鼠标左键,按下w键等)进行处理。
    • ④ 应用程序调用DispatchMessage()函数将消息回传给操作系统。
    • ⑤ 操作系统收到应用程序的回传之后,调用应用程序的窗口过程函数处理这条消息。

    二、使用到的API简介

    这里主要是使用Windows提供的API,利用以上的消息机制,来模拟操作系统给某一个应用程序发送消息。

    使用到的API函数在<Windows.h>头文件中,使用到了以下函数:

    • FindWindow()函数:遍历当前内存中的所有注册窗口,根据相关信息搜索匹配的窗口,返回窗口的句柄。
    • FindWindowEx()函数:根据传入的父窗口(句柄),搜索满足相关条件的子窗口(控件也是窗口),找到第一个即退出,返回窗口的句柄。
    • PostMessage()函数:向指定窗口的消息队列发送消息,可以指定消息的类型,类似以上过程②。
    • GetWindow()函数:根据传入的窗口(句柄)以及输入的关系信息,查找满足条件的窗口,返回窗口的句柄。
    • EnumChildWindows()和EnumChildProc()函数:其中EnumChildProc()函数是EnumChildWindows()的回调函数,EnumChildWindows()会穷举传入窗口(句柄)的所有子窗口,而EnumChileProc()回调函数接收到每个子窗口的句柄,然后进行相关的操作。

    以上函数的具体方法可以查阅MSDN官方文档。

    三、获取Windows记事本的编辑区窗口的句柄并模拟输入操作

    1、分析

    主要包括以下几个步骤:

    1. 获取记事本窗口的句柄。
    2. 遍历记事本窗口的所有子窗口,找到编辑区子窗口。
    3. 向编辑区子窗口的消息队列发送消息。
    4. 子窗口作出响应。

    2、代码一

    #include <iostream>
    #include <Windows.h>
    using namespace std;
    
    int main()
    {
    	HWND htext = FindWindow(NULL, L"无标题 - 记事本");  //找到记事本窗口的句柄
    	if (!htext)
    	{
    		cout << "not find text!" << endl;
    		return 0;
    	}
    	HWND hchild = FindWindowEx(htext, NULL, L"Edit", NULL);  //找到记事本的编辑区子窗口
    	if (!hchild)
    	{
    		cout << "not find child!" << endl;
    		return 0;
    	}
    	/*像编辑区发送按键按下的消息,内容分别hello world*/
    	PostMessage(hchild, WM_KEYDOWN, 0x48, 0);
    	PostMessage(hchild, WM_KEYDOWN, 0x45, 0);
    	PostMessage(hchild, WM_KEYDOWN, 0x4c, 0);
    	PostMessage(hchild, WM_KEYDOWN, 0x4c, 0);
    	PostMessage(hchild, WM_KEYDOWN, 0x4f, 0);
    	PostMessage(hchild, WM_KEYDOWN, VK_SPACE, 0);
    	PostMessage(hchild, WM_KEYDOWN, 0x57, 0);
    	PostMessage(hchild, WM_KEYDOWN, 0x4f, 0);
    	PostMessage(hchild, WM_KEYDOWN, 0x52, 0);
    	PostMessage(hchild, WM_KEYDOWN, 0x4c, 0);
    	PostMessage(hchild, WM_KEYDOWN, 0x44, 0);
    	return 1;
    }
    

    运行结果如下:
    在这里插入图片描述
    可以看到在记事本中成功输入了hello world,完全由代码生成的。

    3、代码二

    除了以上利用FindWindowEx()函数查找子窗口外,还可以利用EnumChildWindows()函数来遍历所有窗口,对所有子窗口进行操作。以下是代码:

    #include <iostream>
    #include <string.h>
    #include <Windows.h>
    using namespace std;
    //对枚举的子窗口进行操作
    BOOL CALLBACK EnumChildProc(HWND hchild, LPARAM lparam)
    {
    	wchar_t cls_name[50];
    	GetClassName(hchild, cls_name, 50);  //获取子窗口的类名
    	wprintf(L"%s", cls_name);      //将子窗口的类名打印到屏幕
    	wchar_t* p = wcsstr(cls_name, (wchar_t*)lparam);  //判断查找到的子窗口是否是编辑区窗口
    	if (p == NULL)
    	{
    		return TRUE;
    	}
    	else
    	{
    		/*像编辑区发送按键按下的消息,内容分别hello world*/
    		PostMessage(hchild, WM_KEYDOWN, 0x48, 0);
    		PostMessage(hchild, WM_KEYDOWN, 0x45, 0);
    		PostMessage(hchild, WM_KEYDOWN, 0x4c, 0);
    		PostMessage(hchild, WM_KEYDOWN, 0x4c, 0);
    		PostMessage(hchild, WM_KEYDOWN, 0x4f, 0);
    		PostMessage(hchild, WM_KEYDOWN, VK_SPACE, 0);
    		PostMessage(hchild, WM_KEYDOWN, 0x57, 0);
    		PostMessage(hchild, WM_KEYDOWN, 0x4f, 0);
    		PostMessage(hchild, WM_KEYDOWN, 0x52, 0);
    		PostMessage(hchild, WM_KEYDOWN, 0x4c, 0);
    		PostMessage(hchild, WM_KEYDOWN, 0x44, 0);
    		return TRUE;
    
    	}
    }
    
    int main()
    {
    	HWND htext = FindWindow(NULL, L"无标题 - 记事本");  //找到记事本窗口的句柄
    	if (!htext)
    	{
    		cout << "not find text!" << endl;
    		return 0;
    	}
    	wchar_t class_name[] = { L"Edit" };   //设定要编辑区窗口的类名
    	EnumChildWindows(htext, EnumChildProc, (LPARAM)class_name);  //枚举所有子窗口,在EnumChildProc函数中对这些窗口一一操作
    	return 1;
    }
    

    以下是运行结果:
    在这里插入图片描述
    可以看到也得到了正确的结果,另外通过命令行发现输出了记事本的编辑区窗口的类名是:Editmsctls_statusbar32。

    四、后记

    基于这种方法,可以编写一些软件的注册机。例如一些软件可能需要输入激活码,这时可以写一个注册机,通过穷举输入到窗口中,来暴力破解软件的激活码。

    展开全文
  • 文章目录引言一、一些基础知识的介绍二、Windows程序的结构三、第一个窗口程序的流程四、代码实现五、运行平台 引言 众所周知,我们只要使用Windows的操作系统,必然离不开Windows的界面程序,无论是用什么语言(c ...

    引言

    • 众所周知,我们只要使用Windows的操作系统,必然离不开Windows的界面程序,无论是用什么语言(c 、c++、汇编、或是易语言),什么编译器,只要是带图形界面的PE文件,运行时必然带有Windows子系统,也就是说,遵循Windows界面程序的结构。
    • 那么,我们如果掌握了这个结构,无论是逆向还是开发,都会显得更加游刃有余。这也是我跟大家分享这个结构的原因,当然,如有任何错误,欢迎指正。

    一、一些基础知识的介绍

    1. 什么是Windows SDK?

      • 微软推出的包含了开发该windows版本所需的windows函数和常数定义、API函数说明文档、相关工具和示例。
      • 总结起来,我们如果要在Windows上编程,离不开这玩意儿。
    2. 什么是句柄?

      • 句柄是WONDOWS用来标识被应用程序所建立或使用的对象的唯一整数,WINDOWS使用各种各样的句柄标识诸如应用程序实例,窗口,控制,位图,GDI对象等等。
    3. 什么是消息?

      • 在Windows中发生的一切都可以用消息来表示,消息用于告诉操作系统发生了什么,所有的Windows应用程序都是消息驱动的。
      • 换而言之,消息就是Windows程序运行的核心,我们对窗口的所有操作,包括点击,输入,都是会产生一个消息的,而程序就是不断处理我们产生的消息,从而实现不同的操作。
      • 有些大佬调试时候喜欢直接断消息,其实也就是用的这个原理
    4. 如何使用和查看Windows API?

      • Windows API是微软提供给我们在Windows下编程的接口,API丰富多彩,能做到的事情也很丰富。当然,如果熟悉了常见API函数的结构,对后期的逆向分析,代码注入或者HOOK也有很大的帮助。
      • 查看:百度-》API函数名-》MSDN-》翻译
      • 使用:程序中包含"Windows.h",直接调用即可。

    二、Windows程序的结构

    1. 窗口对象

      • 用于在系统中标识该窗口,窗口的信息全部存放于其中,需要在系统中注册(使用RegisterClass函数)

      • 结构:

        typedef struct tagWNDCLASSA {
          UINT      style;            //窗口类的风格
          WNDPROC   lpfnWndProc;    //指向窗口过程的指针(重要)
          int       cbClsExtra;        //分派给窗口类的拓展的字节数
          int       cbWndExtra;        //分派给窗口实例的扩展的字节数
          HINSTANCE hInstance;        //实例句柄
          HICON     hIcon;            //类图标的句柄
          HCURSOR   hCursor;        //类鼠标指针的句柄
          HBRUSH    hbrBackground;    //刷新背景所用画刷的句柄
          LPCSTR    lpszMenuName;    //窗口类包含的菜单的资源
          LPCSTR    lpszClassName;    //窗口类名(重要)
        } WNDCLASSA, *PWNDCLASSA, *NPWNDCLASSA, *LPWNDCLASSA;
        
    2. 窗口

      • 根据窗口对象实际显示出来的窗口,需要根据窗口对象创建,创建成功后,返回一个句柄,也是该窗口的标识
      • 使用CreateWindow函数创建
    3. 消息泵

      • 对窗口获取到的各种消息进行处理

      • 常见结构

        	MSG msg = { 0 };
        	while (GetMessage(&msg, NULL, 0, 0))
        	{
        		//翻译消息
        		TranslateMessage(&msg);
        		//分发消息
        		DispatchMessage(&msg);
        	}
        
    4. 消息处理函数(窗口回调函数)

      • 消息泵将消息发送之后,消息处理函数开始执行,可以根据相应的消息进行处理。

      • 常见结构

        //窗口回调函数
        LRESULT CALLBACK WndProc(
        	HWND hWnd,	/*实例句柄*/
        	UINT nMsgCode,	/*消息类型*/
        	WPARAM wParam, /*附加参数1*/
        	LPARAM lParam  /*附加参数2*/
        )
        {
        	switch (nMsgCode)
        	{
        	case WM_CLOSE:
        		PostQuitMessage(0);
        		break;
        	default:
        		//Windows默认的消息处理
        		return DefWindowProc(hWnd, nMsgCode, wParam, lParam);
        	}
        	return 0;
        };
        

    三、第一个窗口程序的流程

    1. 在系统中注册窗口类
    2. 编写窗口回调函数
    3. 创建窗口
    4. 显示刷新窗口
    5. 建立消息循环

    四、代码实现

    • 说了这么多,直接看代码吧,注释很详细,大家慢慢看

      #include <stdio.h>
      #include <stdlib.h>
      #include <Windows.h>
      #include <tchar.h>
      
      //全局的一个实例句柄,标识最初的父窗口
      HWND g_hWnd = NULL;
      
      //窗口回调函数
      LRESULT CALLBACK WndProc(
      	HWND hWnd,	/*实例句柄*/
      	UINT nMsgCode,	/*消息类型*/
      	WPARAM wParam, /*附加参数1*/
      	LPARAM lParam  /*附加参数2*/
      )
      {
      	switch (nMsgCode)
      	{
      	case WM_CLOSE:
      		PostQuitMessage(0);
      		break;
      	default:
      		//Windows默认的消息处理
      		return DefWindowProc(hWnd, nMsgCode, wParam, lParam);
      	}
      	return 0;
      };
      
      int WINAPI WinMain(
      	_In_ HINSTANCE hInstance,/*程序的实例句柄,保存的程序的加载地址*/
      	_In_opt_ HINSTANCE hPrevInstance,/*已被废弃,不管*/
      	_In_ LPSTR lpCmdLine,/*命令行参数*/
      	_In_ int nShowCmd/*窗口的显示标志*/
      )
      {
      	//1.在系统中注册窗口类
      	//1.1 新建窗口类
      	WNDCLASS wc = { 0 };
      	//窗口类类名字段赋值
      	wc.lpszClassName = _T("MyClass");
      	//窗口类回调函数字段赋值
      	wc.lpfnWndProc = WndProc;
      
      	//1.2 注册窗口类
      	RegisterClass(&wc);
      
      	//2.创建窗口
      	g_hWnd = CreateWindow(
      		wc.lpszClassName,		//窗口类的类名
      		_T("第一个窗口程序"),	//窗口名
      		WS_OVERLAPPEDWINDOW,	//窗口类型
      		100, 100,				//窗口在屏幕上的位置x,y
      		640, 480,				//窗口的宽和高
      		NULL,					//父窗口句柄
      		NULL,					//菜单的句柄
      		hInstance,				//实例句柄
      		NULL					//附加参数
      	);
      	if (g_hWnd == NULL)
      	{
      		MessageBox(NULL, _T("创建窗口失败!"), _T("ERROR"), MB_OK);
      		exit(0);
      	}
      	//3.显示刷新窗口
      	ShowWindow(g_hWnd, SW_SHOW);
      	UpdateWindow(g_hWnd);
      	//4.建立消息循环
      	MSG msg = { 0 };
      	while (GetMessage(&msg, NULL, 0, 0))
      	{
      		//翻译消息
      		TranslateMessage(&msg);
      		//发送消息
      		DispatchMessage(&msg);
      	}
      	//5.退出
      	return (int)msg.wParam;
      }
      

    五、运行平台

    • vs ,vc各个版本都行,复制粘贴即可运行,记得将项目属性中的链接属性,子系统改为windows子系统。
    展开全文
  • windows编程改变窗口

    2010-04-07 10:45:22
    窗口中追中鼠标,显示窗口大小,灾情中华园
  • 窗口句柄:在Windows或Linux等操作系统下窗口句柄对应着每个窗口的钥匙,例如,你要对某一个窗口进行操作,你必须知道你要操作哪一个窗口,这里就拿Windows做举例,Windows下几乎会创建许许多多个窗口,但是我们怎么...

    窗口句柄:

    在Windows或Linux等操作系统下窗口句柄对应着每个窗口的钥匙,例如,你要对某一个窗口进行操作,你必须知道你要操作哪一个窗口,这里就拿Windows做举例,Windows下几乎会创建许许多多个窗口,但是我们怎么知道我们操作的是哪个窗口?

    答:就是窗口句柄,每个窗口在被创建出来之后就会被赋予一个句柄,该句柄(句柄实则上是一个指针)指向一个数据结构体,结构体里明确表示着该窗口的各种信息,窗口大小,窗口名等,当我们得到这个句柄时就可以请求操作系统对它做一系列操作,列如:移动窗口,关闭窗口,最小化最大化等,这些都是通过窗口句柄来告诉操作系统的,我们要对哪个窗口进行操作,而消息则是告诉操作系统要做什么样的操作,消息的附加参数就是操作值,列如移动窗口,会有附加的xy坐标参数!

    进程ID:

    进程ID是当一个进程被创建出来时系统内核为其分配的一个名字/绰号,且进程分配的首地址在GDT(局域的叫LDT,详细可以查看: 详解:物理地址,虚拟地址,内存管理,逻辑地址之间的关系)表中,进程ID会被保存到该进程的PCB进程控制块中(线程的会存放到:TCB线程控制块中,都是一个数据结构体包含:

     

    • 程序计数器:接着要运行的指令地址。
    • 进程状态:可以是new、ready、running、waiting或 blocked等。
    • CPU暂存器:如累加器、索引暂存器(Index register)、堆栈指针以及一般用途暂存器、状况代码等,主要用途在于中断时暂时存储数据,以便稍后继续利用;其数量及类因电脑架构有所差异。
    • CPU排班法:优先级、排班队列等指针以及其他参数。
    • 村粗气管理:如标签页表等。
    • 会计信息:如CPU与实际时间之使用数量、时限、账号、工作或进程号码。
    • 输入输出状态:配置进程使用 I/O设备,如磁带机。  

     

    ),当操作系统想要操作某个进程时会通过进程ID来指定要操作哪个进程!

     

    进程句柄:

    进程句柄与窗口句柄不一样,这里先解释一下上面是进程句柄:进程句柄指向进程下的PCB进程控制块,当我们要对进程进行I/O操作时候时候需要知道进程的堆栈地址范围以及状态才能的值对应的LDT/GDT并转化为物理地址(或通过段选择符进行转换详细:详解:物理地址,虚拟地址,内存管理,逻辑地址之间的关系),操作系统才能为我们对该进程进行读写操作,所以一般我们会通过进程ID来获取进程句柄(临时的),来对进程进行操作。

    操作系统会通过进程ID来遍历进程下的PCB进程控制块看一下该进程属于哪个GDT下的LDT表中,找到之后会将该进程的PCB进程控制块地址返回给获取者!

    注意:进程ID在创建时就会规定好,其ID是按照进程创建顺序来分配的,用完后会被回收二次分配,进程句柄不是,当我们获取某个进程的句柄时,操作系统会将PCB进程控制块地址返回给获取者,获取者需要通过指针来接收它,指针占用的空间是占用的是自己进程下的!所以当我们用完释放,二次获取时候句柄的地址就会发生改变,但句柄指向的地址不会发生改变(是因为PE文件映射关系,详细请查看PE文件格式映射原理,在PE文件格式中PCB进程控制块的映射位置是:0x64(100)),句柄等于指针!

    窗口与进程之间的关系

    一个窗口对应一个进程,就拿人来做形容吧

    人都有一个身体和大脑,身体是对外展示的,而大脑是在控制身体应该怎样对外展示,所以窗口就是对用户进行可视化界面交互的,而进程里的数据和指令在控制着窗口应该怎样交互!

     

     

     

     

    展开全文
  • C_ampc语言windows控制台窗口界面编程_教程.doc
  • 一般我们创建一个Windows Console Application程序时,编译运行后,弹出的DOS窗口中显示名称都是可执行文件EXE的路径(如下图所示),但是有时我们并不需要这样的效果,而是想让其显示一个自定的标题名称。...
  • Windows编程---使用C/C++语言创建一个窗口

    万次阅读 多人点赞 2019-01-20 20:17:42
    什么是窗口 我们要进行Windows编程,首先要明白什么是窗口。简单来讲,窗口就是一块区域,我们可以在上面进行绘制显示操作,将我们的UI逻辑显示出来。Windows本身就是一个窗口管理系统,桌面本身就是一个窗口。我们...
  • win32简单窗口编程.rar

    2020-03-01 15:41:50
    windows api 简单可视化窗口编程,其中包含EXE可执行程序和源注释代码,清晰简明。编译工具visual studio 2013专业版。一起学习qq:2306558119
  • MFC C++ Windows 通过获取到的进程ID,进而获取所对应的窗口信息,从而对获取的窗口进行操作 (内含控制其它win程序按钮的示例)
  • 商业编程-源码-Windows 98 2000中激活指定窗口事件的源代码.zip
  • 一个例子:通过Windows窗口消息实现 QT进程间通信,实现消息在进程间互发
  • C语言编写windows窗口程序

    千次阅读 2021-05-19 12:04:43
    想不想写一个想windows窗口程序?很简单,只要有C语言的基础。经过简单的学习,就能投入windows的怀抱了!!!:)第一步,建立一个win32工程:我使用的是Code::Blocks.首先要建立一个win32工程。Flie->New->...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 274,145
精华内容 109,658
关键字:

windows进程和窗口