zoukankan      html  css  js  c++  java
  • Windows编程基础

    0x01.Windows编程入门

    windows编程是在软件开发的时候必须要调用到的api,微软官方已经打包好的
    可以在c,c++等其他程序开发调用api,也可以使用单独的创建win32项目

    #include <stdio.h>
    #include <windows.h>
    
    //这是win32的入口程序
    int WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdline, int nCMDshow)
    {
    
    }
    

    如果遇到某些错误的问题的话,可以使用GetLastError()来获取错误
    DWORD errorCode = GetLastError();

    例子:

    #include <stdio.h>
    #include <windows.h>
    
    //这是win32的入口程序
    int WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdline, int nCMDshow)
    {
          TCHAR szContent[] = TEXT("内容");
          TCHAR szTitle[] = TEXT("标题");
          MessageBox((HWND)0, szContent, szTitle, -1);
          DWORD errorCode = GetLastError();
    }
    

    这时候就得到了错误,就可以在顶上那一行 -> 工具 ->错误查找
    然后输入错误码,就可以知道错在哪里了

    0x02. Win32 api的宽字节

    1、什么是Win32 API?有哪些?在哪里?

    主要是存放在 C : WINDOWSsystem32 下面所有的dll

    2、非常重要的几个DLL

    Kernel32.dll:最核心的功能模块,比如管理内存、进程和线程相关的函数等.

    User32.dll : 是Windows用户界面相关应用程序接口, 如创建窗口和发送消息等.

    GDI32.dll : 全称是Graphical Device Interface(图形设备接口), 包含用于画图和显示文本的函数
    比如要显示一个程序窗口,就调用了其中的函数来画这个窗口

    3、Win32 API中的宽字符和多字节字符

    Windows是使用C语言开发的,Win32 API同时支持宽字符与多字节字符.

    (1) 字符类型
    (2) 字符串指针

    
    char 	CHAR		PSTR(LPSTR) 指向多字节字符串
    
    wchar_t  WCHAR			PWSTR(LPWSTR) 指向宽字符串
    
    宏   TCHAR			宏  	PTSTR(LPTSTR)
    

    字符数组赋值

    
    CHAR cha[] = "中国";
    
    WCHAR chw[] = L"中国";
    
    TCHAR cht[] = TEXT("中国");
    
    

    为字符串指针赋值:

    PSTR pszChar = "china";				//多字节字符
    
    PWSTR pszWChar = L"china";				//宽字符
    
    PTSTR pszTChar = TEXT("china");				//如果项目是ASCII的 相当于"china" UNICODE 相当于L"china"
    

    4、各种版本的MessageBox

    MessageBoxA(0, "内容多字节", "标题", MB_OK);
    MessageBoxW(0, L"内容宽字节", L"标题", MB_OK);
    MessageBox(0, TEXT("根据项目字符集决定"), TEXT("标题"), MB_OK);
    Windows提供的API 凡是需要传递字符串参数的函数,都会提供两个版本和一个宏.
    

    0x03. Windows数据类型

    c语言是专门开发操作系统的语言,之前就是专门开发Linux,然后就所有都用c语言开发

    C语言数据类型:

    char      short      int
    char*     void       VOID*
    char*     const char*   .....
    

    Windows数据类型是在C语言的基础上的新的一个命名

    Windows数据类型

    BOOL      BYTE      CHAR
    CONST     DWORD     DWORD32
    DWORD64   FLOAT     HANDLE
    HICON     HINSTANCE HKEY
    HMODULE   HWND      INT
    PVOID     ..... 
    

  • 相关阅读:
    android的FATAL EXCEPTION: main错误
    ORA12560: TNS: 协议适配器错误
    BroadcastReceiver应用详解
    using C# 详解
    mysqlproxy0.8版本读写分离测试总结
    Mysql SHOW PROCESSLIST Sending data
    [转载]大型网站运维探讨和心得
    找出并optimization表
    mysql中普通索引和唯一索引的效率对比
    ps aux 中STAT 解释
  • 原文地址:https://www.cnblogs.com/0x7e/p/13813964.html
Copyright © 2011-2022 走看看