精华内容
下载资源
问答
  • windows编程(设计用户界面

    千次阅读 2018-11-06 20:23:13
    开发平台:codeblocks win32 GUI 功能说明:首先,可以自动生成6位口令,然后点击暴力破解按钮,开始对自动生成的口令进行暴力破解。并输出破解次数。 界面展示: func.c: #include "func.h"...

    开发平台:codeblocks win32 GUI

    功能说明:首先,可以自动生成6位口令,然后点击暴力破解按钮,开始对自动生成的口令进行暴力破解。并输出破解次数。

    界面展示:

    func.c:
    
    #include "func.h"
    void respond_password_generated()
    {
        srand((unsigned)time(0));
        int n[6] = {0};
        int i;
        for(i=0; i<6; i++)
        {
            n[i] = rand()%10;
            strr[i] = n[i]+'0';
        }
    }
    int respond_violence(int c)
    {
        c = 0;
    	char b[7];
        int i, j;
        for(i=0; i<=999999; i++)
        {
        	int k = i;
            for(j=5; j>=0; j--)
            {
                b[j] = k%10+'0';
                k/=10;
            }
            if(!strcmp(strr, b))
            {
            	break;
    		}
    		c++;
        }
        return c;
    }
    main.c:
    
    #include <windows.h>
    #include "func.h"
    #define num 2
    /*
    Windows程序是事件驱动的,对于一个窗口,它的大部分例行维护是由系统维护的。
    每个窗口都有一个消息处理函数。
    在消息处理函数中,对传入的消息进行处理。系统内还有它自己的缺省消息处理函数。
    客户写一个消息处理函数,在窗口建立前,将消息处理函数与窗口关联。这样,每当有消息产生时,
    就会去调用这个消息处理函数。通常情况下,客户都不会处理全部的消息,而是只处理自己感兴趣的消息,
    其他的,则送回到系统的缺省消息处理函数中去。
    系统会将针对这个程序的消息依次放到程序的“消息队列”中,由程序自己依次取出消息,
    在分发到对应的窗口中去。因此,建立窗口后,将进入一个循环。在循环中,取出消息、派发消息,
    循环往复,直到取得的消息是退出消息。循环退出后,程序即结束。
    */
    //消息处理函数 。参数:窗口句柄,消息,消息参数,消息参数
    LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
    
    /*
    hinstance - 该参数为Windows 为应用程序生成的实例句柄。实例是用来跟踪资源的指针。
    hprevinstance 当前已不再使用该参数,之前用来跟踪应用程序的前一个实例,即程序的父亲的程序实例。
    ipcmdline - 一个以NULL结尾的字符串,类似于标准main(int argc,char** argv)中的命令行参数,
    但没有单独的argc来指示命令行参数数量。
    ncmdshow—— 最后一个参数是启动期间传递给应用程序的一个整数,指出如何打开程序的窗口。
    事实上,基本没用,但ncmdshow的值一般会用于ShowWindows()中使用,用来设置新建子窗口的形式。
    */
    
    int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow)
    {
            static TCHAR szAppName[] = TEXT("MyWindows");//窗口类名称
            HWND hwnd;
            MSG msg;
    
            //定制"窗口类"结构
            WNDCLASS wndclass;
            wndclass.style = CS_HREDRAW | CS_VREDRAW;
            wndclass.lpfnWndProc = WndProc;//关联消息处理函数
            wndclass.cbClsExtra = 0;
            wndclass.cbWndExtra = 0;
            wndclass.hInstance = hInstance;
            wndclass.hIcon = LoadIcon(NULL, IDI_APPLICATION);//图标
            wndclass.hCursor = LoadCursor(NULL, IDC_ARROW);//光标
            wndclass.hbrBackground = (HBRUSH)(COLOR_BTNFACE + 1);//画刷
            //将客户区的背景颜色改成和按钮一样  +1是为了防止出现NULL
            wndclass.lpszMenuName = NULL;
            wndclass.lpszClassName = szAppName;
    
            if (!RegisterClass(&wndclass))
            {
                    MessageBox(NULL, TEXT("这个程序需要在 Windows NT 才能执行!"), szAppName, MB_ICONERROR);
                    return 0;
            }
            //建立窗口
            hwnd = CreateWindow(szAppName,//窗口类名称
                    TEXT("PasswordBreak"),//窗口标题
                    WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU,//窗口风格
    
                    /*三个参数的含义:
                    产生一个层叠的窗口,一个层叠的窗口有一个标题条和一个边框,与 WS_TILED 风格相同
                    创建一个有标题框的窗口(包含了 WS_BODER 风格)
                    创建一个在标题条上带有窗口菜单的窗口,必须同时设定 WS_CAPTION 风格
                    */
    
                    CW_USEDEFAULT,
                    CW_USEDEFAULT,
                    CW_USEDEFAULT,
                    CW_USEDEFAULT,
                    NULL,
                    NULL,
                    hInstance,
                    NULL);
    
            ShowWindow(hwnd, iCmdShow);
            UpdateWindow(hwnd);
    
            while (GetMessage(&msg, NULL, 0, 0))
            {
                    TranslateMessage(&msg);//转换消息
                    DispatchMessage(&msg);//派发消息
            }
    
            return msg.wParam;
    }
    
    LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
    {
            HDC hdc;
            PAINTSTRUCT ps;
            RECT rect;
            TCHAR *str[num] = {TEXT("自动生成六位口令"), TEXT("暴力破解六位口令"), TEXT("音乐")};
            static int cxchar, cychar;
            static HWND hwndButton[num];
            //存放子窗口的句柄
            int i, id, co;
    
            static int winner = -1, flag = 0, Count = 0;//标记哪个选项被选中
    
            switch (message)
            {
            case WM_CREATE:
            cxchar = LOWORD(GetDialogBaseUnits());
            cychar = HIWORD(GetDialogBaseUnits());
            /*
            获取字体的横/纵坐标:返回值是一个8位16进制数,高4位存放字体的高度,低4位存放字体的宽度,
            可以通过以下语句了获取字体的高和宽
            GetDialogBaseUnits函数返回的水平基本单位同系统字体中字符以像素为单位的平均宽度相等;
            垂直基本单位同系统字体中字符的以像素为单位的平均高度相等;
            对于一个没有使用系统字体的对话框基本单位相等于对话框字体字符以像素为单位的平均宽度和平均高度。
            */
            GetWindowRect(hwnd, &rect);
            MoveWindow(hwnd, rect.left, rect.top, 40*cxchar, 20*cychar, TRUE);
            /*
    hWnd是窗口的句柄。
    X是窗口在X轴的位置。
    Y是窗口在Y辆的位置。
    nWidth是窗口的宽度。
    nHeight是窗口的高度。
    bRepaint是设置是否重画窗口和父窗口。
    当设置为TRUE时,就进行重画。当设置为FALSE时,
    就不进行重画,需要手功进行更新指定的区域。
            */
            for(i=0; i<num; i++)
            {
                hwndButton[i] = CreateWindow(TEXT("button"), str[i],
                BS_AUTORADIOBUTTON | WS_CHILD | WS_VISIBLE,
                8*cxchar, cychar*(2 + 3*i),20*cxchar, 7*cychar/4,
                hwnd, (HMENU)i, ((LPCREATESTRUCT)lParam)->hInstance, NULL);
            }
    
                CreateWindow(TEXT("button"), TEXT("选项"),
                BS_GROUPBOX | WS_CHILD | WS_VISIBLE,
                3*cxchar, cychar/10,30*cxchar, 37*cychar/4,
                hwnd, (HMENU)(num+1), ((LPCREATESTRUCT)lParam)->hInstance, NULL);
    
                CreateWindow(TEXT("button"), TEXT("提交"),
                BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE,
                5*cxchar, 13*cychar,
                //按钮的上下位置
                9*cxchar, 9*cychar/4,
                //按钮的长和宽
                hwnd, (HMENU)(num+2), ((LPCREATESTRUCT)lParam)->hInstance, NULL);
                CreateWindow(TEXT("button"), TEXT("破解次数"),
                BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE,
                20*cxchar, 13*cychar,
                //按钮的左右和上下位置
                9*cxchar, 9*cychar/4,
                //按钮的长和宽
                hwnd, (HMENU)(num+3), ((LPCREATESTRUCT)lParam)->hInstance, NULL);
            return 0;
            case WM_COMMAND:
                id = LOWORD(wParam);//获取子窗口控件的id
                 if(id < num)
                 {
                     winner = id;//选中哪个选项
                 }
                 switch(id)
                 {
                 case num+2://如果点了提交的按钮
                    if(winner==-1)
                    {
                        MessageBox(hwnd, TEXT("没有选中任何选项!"), TEXT("提示"), MB_OK);
                    }
                    else if(winner == 0)//如果点了自动生成6位口令
                    {
                        flag = 1;
                        respond_password_generated();
                       CHAR szdemo[20] = "\0";
                       sprintf(szdemo, TEXT("%s %s"), TEXT("生成的口令是:"), strr);
                    MessageBox(hwnd, TEXT(szdemo), TEXT("提示"), MB_OK);
                    }
                    else if(winner == 1)
                    {
                        if(flag)
                        {
                        respond_violence();
                        MessageBox(hwnd, TEXT("口令已破解"), TEXT("提示:"), MB_OK);
                        }
                        else
                        {
                             MessageBox(hwnd, TEXT("未生成口令!"), TEXT("提示:"), MB_OK);
                        }
                    }
                    break;
                 case num+3://如果点了显示破解次数的按钮
                     {
                         co = respond_violence(Count);
                        // printf("%d\n", co);
                         //printf("%s\n", strr);
                    CHAR szdemo1[40] = "\0";
                    sprintf(szdemo1, TEXT("%s %d"), TEXT("尝试的次数为:"), co);
                    MessageBox(hwnd, TEXT(szdemo1), TEXT("提示"), MB_OK);
                    break;
                     }
                 }
            return 0;
    
    //        case WM_PAINT:
    //                hdc = BeginPaint(hwnd, &ps);
    //                GetClientRect(hwnd, &rect);
    //
    //                EndPaint(hwnd, &ps);
    //                return 0;
    
    //        case WM_LBUTTONDOWN:
                MessageBox(hwnd, TEXT("哎呀~我被按了一下~"), TEXT("好舒服~"), MB_OK);
    //            return 0;
    
            case WM_DESTROY:
                    PostQuitMessage(0);
                    //当用户关闭窗口,窗口销毁,程序需结束,发退出消息,以退出消息循环
                    return 0;
            }
            return DefWindowProc(hwnd, message, wParam, lParam);
    }
    func.h:
    #ifndef FUNC_H_INCLUDED
    #define FUNC_H_INCLUDED
    
    #include<stdio.h>
    #include <stdlib.h>
    #include <time.h>
    #include <string.h>
    
    
    char strr[10];//这里面存的是自动生成的6位口令
    
    //static int Count = 0;//这是要统计破解的次数
    void respond_password_generated();
    int respond_violence();
    
    
    #endif // FUNC_H_INCLUDED
    

     

    展开全文
  • 以下部分为那些对Windows应用程序用户界面进行设计、运行以及测试的开发人员,提供一般性的指导。 除了基本的用户界面设计原则,还提供了许多建议和意见,将帮助开发人员为用户提供简单、高效,并且愉快的用户体验...
    • 目标
      以下部分为那些对Windows应用程序用户界面进行设计、运行以及测试的开发人员,提供一般性的指导。
      除了基本的用户界面设计原则,还提供了许多建议和意见,将帮助开发人员为用户提供简单、高效,并且愉快的用户体验。
      注意:这些指导并不全面,并且受限于应用程序具体的作用和功能。需要更全面的指导信息,请参阅OnlineWindows用户体验互动指南

    开始进行Windows应用程序的用户界面开发包含主题:

    主题内容
    用户界面开发过程概述本节概述了用户界面设计的三个阶段以及每个阶段的相关内容。
    设计用户界面本节描述了为Windows应用程序设计UI的相关内容的一些细节
    实现用户界面本节描述了为Windows应用程序实现用户界面的一些工作细节
    测试用户界面本节描述了对Windows应用程序用户界面进行测试工作的相关细节
    安全考虑:Windows用户界面该主题提供一些Windows用户界面安全考虑相关的信息
    其他资源本节包含一些与用户界面设计相关的推荐书籍和资源列表

    © 2015微软公司。 保留所有权利。

    展开全文
  • windows程序设计之简单界面入门

    千次阅读 2017-06-16 13:49:02
    突然自己想完整地写一款mm,除了网络通信、文件操作之类的功能类...于是乎,决定windows编程先从界面开始写。 新建一个空的win32工程,只有以下代码:#include "stdafx.h" int APIENTRY WinMain(HINSTANCE hInstance,

    突然自己想完整地写一款mm,除了网络通信、文件操作之类的功能类代码外,还要搞一个界面的东西。想了想,为了快速看到成果就学学界面编程吧,也方便看别人的带界面的代码。于是乎,决定windows编程先从界面开始写。
    新建一个空的win32工程,只有以下代码:

    #include "stdafx.h"
    int APIENTRY WinMain(HINSTANCE hInstance,
                         HINSTANCE hPrevInstance,
                         LPSTR     lpCmdLine,
                         int       nCmdShow)
    {
        // TODO: Place code here.
    
        return 0;
    }

    然后贴上一个示例代码,几乎是同一的格式,vs自动生成的页差不多这样子。

    // WIN32APP.cpp : Defines the entry point for the application.
    //
    
    #include "stdafx.h"
    
    LRESULT CALLBACK MainWndProc(HWND,UINT,WPARAM,LPARAM);
    
    int APIENTRY WinMain(HINSTANCE hInstance,
                         HINSTANCE hPrevInstance,
                         LPSTR     lpCmdLine,
                         int       nCmdShow)
    {
        // TODO: Place code here.
        char szClassName[]="MainWClass";
        WNDCLASSEX wndclass;
    
        wndclass.cbSize=sizeof(wndclass);
        wndclass.style = CS_HREDRAW|CS_VREDRAW;
        wndclass.lpfnWndProc = MainWndProc;
        wndclass.cbClsExtra = 0;
        wndclass.cbWndExtra = 0;
        wndclass.hInstance = hInstance;
        wndclass.hIcon = LoadIcon(NULL,IDI_APPLICATION);
        wndclass.hCursor = LoadCursor(NULL,IDC_ARROW);
        wndclass.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
        wndclass.lpszMenuName = NULL;
        wndclass.lpszClassName = szClassName;
        wndclass.hIconSm = NULL;
    
        RegisterClassEx(&wndclass);
    
        HWND hwnd = CreateWindowEx(
            0,
            szClassName,
            "My first Window!",
            WS_OVERLAPPEDWINDOW,
            CW_USEDEFAULT,
            CW_USEDEFAULT,
            CW_USEDEFAULT,
            CW_USEDEFAULT,
            NULL,
            NULL,
            hInstance,
            NULL);
    
        if(hwnd == NULL)
        {
            MessageBox(NULL,"create windows error !","error",MB_OK);
            return -1;
        }
    
        ShowWindow(hwnd,nCmdShow);
        UpdateWindow(hwnd);
    
        MSG msg;
        while (GetMessage(&msg, NULL, 0, 0))
        {
    
            TranslateMessage(&msg);
            DispatchMessage(&msg);
    
        }
    
        return (int) msg.wParam;
    }
    
    LRESULT CALLBACK MainWndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam)
    {
        char szText[]="most simple window";
        switch(message)
        {
        case WM_PAINT:
            {
                HDC hdc;
                PAINTSTRUCT ps;
                hdc = BeginPaint(hwnd,&ps);
                TextOut(hdc,10,10,szText,strlen(szText));
                EndPaint(hwnd,&ps);
                return 0;
            }
        case WM_DESTROY:
            PostQuitMessage(0);
            return 0;
        }
        return DefWindowProc(hwnd,message,wParam,lParam);
    }

    这里记录一下如何添加图标资源和菜单:
    新建资源文件

    插入菜单

    修改菜单的ID

    修改代码

    查看效果

    其实很简单,代码也很容易懂,菜鸟只是记录一下。
    再添加一个图标玩玩
    修改图标ID

    看效果

    继续前进!哈哈!

    展开全文
  • 偷个懒,不安装虚拟机,直接在Windows下开发 ARM Linux应用程序。 友情提醒1:本篇适合在嵌入式软件开发已经有一定基础的读者。 1 缘由 在嵌入式行业摸爬滚打了八年有余,一直都没在Linux进行...

                                                                                    

     

    偷个懒,不安装虚拟机,直接在Windows下开发

    ARM Linux应用程序。

    友情提醒1:本篇适合在嵌入式软件开发已经有一定基础的读者。

     

    1 缘由

     

    在嵌入式行业摸爬滚打了八年有余,一直都没在Linux进行嵌入式软件开发。因为之前都是开发工业领域的产品,对于人机交互、网络应用、文件管理等方面的需求并不迫切,此外受限于成本、行业领域专用芯片以及实时性的要求,所以开发模式一般都是裸跑或者移植轻量级的RTOS(以FreeRTOS)进行简单的任务管理。

    刚好前一阵需要在ARM Linux下进行应用程序的开发,所以摸索了开发模式,把一些经验和感悟分享下。

    友情提醒2:此篇不涉及Linux底层驱动开发和移植,只讲在已经移植好Linux内核的目标板上开发应用程序的方法。

    友情提醒3:市面上已经有许多专业做ARM Linux核心板的厂家,并已经做好了外围电路和移植好了比较稳定的Linux内核,如果读者朋友只想快速开发产品的应用程序,没必要自己从零开始设计ARM板电路,移植Linux系统,编写底层驱动等,直接购买ARM-Linux核心板,专注于应用层的开发即可。

    2 必备基础概念-万物皆文件

     

    在切入主题之前,先从Linux的万物皆文件说起。因为这个是习惯在Windows下开发的工程师们要立马扭转过来的观念。不要问我为什么,咱啥也不敢说,啥也不知道,要问就去问Linux本人吧。

    Linux 中所有内容都是以文件的形式保存和管理的,普通文件是文件,目录(Windows 下称为文件夹)是文件,硬件设备(键盘、监视器、硬盘、打印机)是文件,就连套接字(socket)、网络通信等资源也都是文件。

     

    这样做最明显的好处是,开发者仅需要使用一套 API 和开发工具即可调取 Linux 系统中绝大部分的资源。举个简单的例子,Linux 中几乎所有读(读文件,读系统状态,读 socket,读 PIPE)的操作都可以用 read 函数来进行;几乎所有更改(更改文件,更改系统参数,写 socket,写 PIPE)的操作都可以用 write 函数来进行。---上述这段话摘自网路,供大家参考理解。

     

    3 必备基础概念-应用程序开发流程与方法

    以下图片摘自ZLG 《嵌入式Linux开发教程 (上册)》

    开发模型

    开发的一般步骤

    下文提到的主机为开发人员电脑的Windows系统,目标板即为ARM Linux板。后续不再赘述。另外需要注意的是,如果需要直接在Windows下与目标板进行远程调试,目标板的Linux内核需要具备SSH功能。

     

    4  Windows下环境搭建

     

    最开始完整跑了一下全过程:使用windows下安装VMware,加载Linux镜像创建Linux虚拟机,然后在虚拟机下使用VIM编辑代码,编译生成执行文件,接着传送到ARM-Linux核心板中运行调试。因为之前都是Windows下开发,所以切换到Linux下不太适应,尤其经常需要使用Terminal进行命令操作。在命令不熟悉的情况下,开发效率较低。后来偶然发现原来在Windows平台下,不使用虚拟机也可以搭建开发所需环境, 省去了来回折腾和Makefile的撰写。

    友情提醒4:如果读者朋友是专注于ARM-Linux开发,建议还是在Linux下进行开发。

    下文的提到的搭建方法来源自ZLG《嵌入式Linux开发教程 (上册)》,该书籍可以前往书店购买或者公众号对话框回复“Linux环境搭建”获取部分章节。

    1. 安装交叉编译环境:arm-none-linux-gnueabi

      已经有大神汇总了安装方法和下载链接:

      https://blog.csdn.net/guodeqiangde/article/details/78239408

      需要注意的是,arm-none-linux-gnueabi中的libstdc++.so.6的版本要与目标板的一致,否则主机中编译生成的执行文件copy到目标板的时候会报如下错误

      目标板中查看该版本的方法如下:

      建议主机中先安装此版本(比较老的版本,够用即可):https://pan.baidu.com/s/1kTkNbpX

      安装完成后记住你安装到了哪个目录,后续Eclipse中创建工程时需要选择该路径。

    2. 安装JDK:根据自己系统的位数,选择合适Java SE Development Kit进行安装,一路next即可。

       

    3. 安装Eclipse IDE for C/C++ Developers:

      直接去官网下载即可https://www.eclipse.org/downloads/

     

     

    5  利用Eclipse创建并编译工程

    参看《嵌入式Linux开发教程 (上册)》章节10.5,不再赘述一般性的内容,这里补充一点:

    工程创建好以后,编译选项有一处需要修改,否则会报:g/g++ not found之类的错误

     

    6  将编译生成的可执行文件加载到目标板并远程调试

    参看《嵌入式Linux开发教程 (上册)》章节10.5,不再赘述一般性的内容,这里补充两点:

    1. 目标板与主机需要在同一个网段

    2. Debug选项中,红框处默认会关联一个不存在gdb调试文件,会报错,直接删除留空即可,

     

    关注公众号,后台回复“Linux环境搭建”获取嵌入式Linux开发教程 (上册)。

     

     

                                                                  

                                                  作者:跨界程序员Vincent

     

                                                                 

                                                       

                                                                    

    展开全文
  • 在Linux下开发GUI程序的方法有很多,比如Gnome桌面使用GTK+作为默认的图形界面库,KDE桌面使用Qt作为默认的图形界面库,wxWidgets则是另一个使用广泛的图形库,此外使用Java中的Swing/AWT组件也可以用于开发Linux...
  • Windows下开发、调试Linux C/C++程序

    万次阅读 2017-08-13 11:15:07
    据我所知,开发Linux C/C++ 程序的一般方式,如下: ²使用SecureCRT+UltraEdit(FTP)工具远程编辑、编译(Makefile+gcc)、调试(gdb)Linux程序。 ²Windows 上装Linux虚拟机,在虚拟机上使用Vim、gcc、gdb来...
  • Windows c++界面开发初学(一)

    万次阅读 多人点赞 2018-06-07 15:25:39
    开发界面库 一、Windows Api 为使程序员编写具有Windows风格的应用程序Windows提供了一个应用程序编程接(ApplicationProgrammingInterface,简称API),它是Windows系统与Windows应用程序间的标准程序接口,...
  • C语言Windows图形界面程序学习(一)

    万次阅读 多人点赞 2019-03-13 21:42:53
    本次实验是在vc6平台实现的,弹出对话框——Hello,world 新建程序 新建一个工程 选择“一个简单的Win32程序” 转移到FileView区,右侧就是源代码啦~ 开始编写代码 知识点 WinMain是一个函数,该函数的功能是...
  • 就像现在看到的qq之类的,界面看起来还是比较美观的,它是用的什么工具?... ,不可能是java开发的吧,Java的swing和awt应该是好几年前用来做界面的吧! 那目前比较流行的的桌面面开发用的是什么呢?
  • PC主要是windows系统普通电脑、触摸屏、打印机是HP1020黑白激光打印机、扫码机,全部设备封装成一个整机。 设计思路 :将javafx程序封装成EXE软件,安装部署在每台机器上,然后通过HTTP发起请求,调取服务器接口...
  • 初识MFC,emmmmmm,这节课听得我云里雾里的,但是也真真切切的感觉到了微软封装的这个类库的强大,这就相当于做饭的过程,MFC相当于有人给你提供了切好的肉,菜,你需要做的就是在食材准备好的情况发挥自己的创意...
  • 文章目录通过samba将linux文件夹映射挂载成windows盘符,clion打开映射磁盘上的c++代码项目。clion编辑代码后在linux上编译境界二 在本地安装linux虚拟机,...解决cpp项目"在windows开发,在linux编译" 同步文...
  • Windows c++界面开发初学(二)win32

    万次阅读 多人点赞 2018-07-23 15:25:43
    微软文档:创建传统的 Windows 桌面应用程序 (c + +) 参考博客1:跟我一起玩Win32开发(2):完整的开发流程 参考博客2:Win32 API编程简介Demo程序 1、典型的Windows程序结构 图来自参考博客2 ...
  • VSCode(c/c++插件)配置C++环境 ...但是,如果您希望获得现有Visual C ++项目的最佳体验或在Windows上进行调试,建议使用Visual Studio IDE. C/C++扩展不包括C ++编译器或调试器。 这里有几个编译器的选择: C...
  • Linux的图形界面编程

    千次阅读 2021-05-11 15:41:34
    经过多年的发展,目前已经存在多种用于在Linux下开发图形界面程序开发包,其中较为常用的是Qt和GTK+。Qt是一个跨平台的图形用户界面开发库,它不仅支持Linux操作系统,还支持所有类型的UNIX以及Windows操作系统。...
  • goLang 如何开发 windows 窗口界面

    千次阅读 2020-08-27 15:39:35
    Walk是一个写给Golang的Window应用程序库套件,它主要用于桌面GUI的开发,但也有更多的东西。 还有个 例子。 package main import ( "strings" "github.com/lxn/walk" . "github.com/lxn/wal..
  • 近期开始接触到在校学生、高校实习生和毕业生,在此说一下笔者对这些徘徊在职场门口的学生一些建议,希望能给这些初学者进入软件开发行业带来一些帮助,使得毕业生能更顺利的进入软件开发公司开始职场生涯,人生来一个...
  • 使用Python开发windows桌面程序

    万次阅读 2018-05-08 11:00:00
    使用Python开发windows桌面程序一、开发前期准备 1. boa-constructor-0.6.1.bin.setup.exe #一个wxWidges的集成开发环境,简单如Delphi,可以直接拖拽控件,并且和其他集成环境不一样, #它不与集成开发环境的...
  • Windows下编写swift程序

    千次阅读 2020-03-03 18:45:47
    Windows下编写swift程序 1.首先介绍一下本次使用到的软件Visual Studio Code和 Swift for Windows(见图1)。 Visual Studio Code(以下简称vscode)是一个轻量且强大的跨平台开源代码编辑器(IDE),支持Windows...
  • 今天想用 .net core做个小程序。却意外的发现没有可视化编辑器!!!(重要的事情用三个感叹号) 虽然我搞了十多年的 .net 开发,但是我确实从来没有自己编辑过 Designer.cs 这个文件。微软不是不让我编辑么! /// ...
  • 上编blog说到用Python开发Windows桌面应用程序的环境搭建,下面就说说如何实现一个简单的远程日志读取的功能。 界面绘制 打开界面绘制工具,选中项目后,右键找到External Tools,然后选择QtDesigner 打开Qt ...
  • 怎样用C/C++开发图形界面(GUI)程序——点名器示例 原文链接:https://mp.weixin.qq.com/s/O9PXaibAyd__ONBBASYI_Q 仍旧是Via What系列,昨天熬夜读了FLTK的文档,今天终于可以给大家介绍一下了。为什么首选这个...
  • 学习C++在windows下窗口应用程序开发(一)

    万次阅读 多人点赞 2018-03-05 21:36:23
    在网上有幸找到孙鑫老师的C++视频,...————我是可爱的分割线——————————————————————Windows下窗口的编程用的最多的就是C++,首先要理解windows程序的内部运行原理,上图:Windows是通过消...
  • C#开发Windows窗体应用程序的步骤

    千次阅读 2017-12-06 13:43:15
    使用C#开发应用程序时,一般包括创建项目、界面设计、设置属性、编写程序代码、保存项目、程序运行等6个步骤。 1.创建项目 在Visual Studio2017开发环境中选择“文件”→“新建”→“项目”菜单,弹出“新建项目...
  • windows桌面ui开发

    千次阅读 2019-06-25 15:21:35
    另一个是全新的dx渲染绘制的界面,也脱离了对传统windows控件的依赖,没有历史包袱,理论上可以展现更炫酷的界面。对初级开发人员来说,没太大区别,类似的基本设计器是他们设计界面的主要手段,一样给事件编写代码...
  • 近期有需求需要在电脑上创建windows服务,并创建2个exe程序 而且这2个exe程序必须要要界面,要不然任务管理器中只能看到进程名称而看不到界面,给人一种错觉是exe启动失败 首先创建一个win32的 exe程序 创建...
  • 初学MFC,编写了一个简单的图形界面,以实现打开计算器、打开记事本、打开画图以及查看本机DNS地址四项功能。 MFC设计界面如下: 其中四项功能添加代码将一一说明: 1、打开计算器  添加按钮,修改caption和...
  • WindowsService服务程序开发

    千次阅读 2018-10-31 11:33:38
     Windows服务:Microsoft Windows 服务(即,以前的 NT服务)使您能够创建在它们自己的 Windows 会话中可长时间运行的可执行应用程序。这些服务可以在计算机启动时自动启动,可以暂停和重新启动而且不显示任何用户...
  • 使用Python开发windows桌面程序【超简单】

    万次阅读 多人点赞 2019-06-29 22:00:06
    简单如Delphi,可以直接拖拽控件,并且和其他集成环境不一样, #它不与集成开发环境的MainLoop冲突,用pythonwin,pyScripter都会冲突,典型报错就是运行第二次 #程序的时候,直接导致集成开发### 一、开发前期准备 1...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 302,823
精华内容 121,129
关键字:

windows下开发界面程序