Win32 API编程——前言】的更多相关文章

一丶什么是Win32 API? 微软为了保护操作系统的安全性和稳定性,把系统分为内核层和用户层(内核层的代码只能在当CPU的特权级为R0状态下执行,用户层的代码在CPU特权级为R0和R3都能执行),windows在内核层构建了一套管理和保护机制,用于维护系统的正常运行,这些机制的实现被称为系统内核.为了区别于windows的内部实现,把我们日常使用的应用程序所运行的环境称为用户层,此时CPU特权级为R3,无法调用系统的内核函数.但是,只有内核函数才能操控硬件,所以windows又提供了可在用户层…
使用win32 API制作美观按钮,当鼠标移入/移出按钮时改变按钮背景颜色,类似HTML网页中的效果,告别win32 API编程中默认的灰色按钮,效果图见下面动图和视频. 下载地址: 按钮效果(win32编程).zip https://files.cnblogs.com/files/techinged/%E6%8C%89%E9%92%AE%E6%95%88%E6%9E%9C(win32%E7%BC%96%E7%A8%8B).zip 有任何问题请发Email至techinged@qq.com或者4…
createwindow可以直接创建一个staitc,但这个static是不透明的,如果我们把窗口背景设置为GRAY_BRUSH,则static会很明显的有一个白色背景,一般来说这样肯定很难看. 可以先给 static设置一个WS_EX_TRANSPARENT的扩展属性,然后在消息回调函数中拦截 WM_CTLCOLORSTATIC 消息,处理下TEXTCOLOR 和 BKMODE,即文字颜色和背景模式: 设置扩展属性: SetWindowLong(hStatic,GWL_EXSTYLE,WS_E…
#include <windows.h> #include <tchar.h> #include <stdio.h> int main(int argc, char* argv[]) { TCHAR szCommandLine[] = TEXT("NOTEPAD");//或者WCHAR //LPWSTR szCommandLine = TEXT("NOTEPAD");//错误 //STARTUPINFO si = { sizeof…
通过WSAAsyncSelect()可以设置非阻塞异步套接字 ::WSAAsyncSelect(s, hDlg, WM_SOCKET, FD_CONNECT | FD_CLOSE | FD_WRITE | FD_READ); 然而设置WSAAsyncSelect()后,进行connect()与服务端连接: if(::connect(s, (sockaddr*)&servAddr, sizeof(servAddr)) == -1) { MessageBox(NULL, L"connect(…
#include <windows.h> #include <tlhelp32.h> // 声明快照函数的头文件 #include "tchar.h" #include "stdio.h" #include <iostream> using namespace std; int main(int argc, char* argv[]) { PROCESSENTRY32 pe32; // 在使用这个结构之前,先设置它的大小 pe32…
#ifdef   UNICODE               typedef   wchar_t   TCHAR;     #else               typedef   unsigned   char   TCHAR;     #endif     typedef   unsigned   char   CHAR;     typedef   unsigned   wchar_t   WCHAR;  由此可以看出,CHAR实施上就是unsigned char,WCHAR为宽字符,而…
#include "windows.h" #include "tchar.h" int APIENTRY _tWinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow ) { MessageBox(NULL, TEXT("Hello,World!"), TEXT("haha"), MB_OK); return 0;…
下面是一个使用Win32 API进行UART编程的简单示例. #include <windows.h> #include <stdio.h> int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd) { HANDLE hCom; DWORD dwError; ] = "Hello World From COM3!\n"; DWOR…
1.API描述 在WIN32 API中,串口使用文件方式进行访问,其操作的API基本上与文件操作的API一致. 打开串口 Win32 中用于打开串口的API 函数为CreateFile,其原型为: HANDLE CreateFile ( LPCTSTR lpFileName, //将要打开的串口逻辑名,如COM1 或COM2 DWORD dwAccess, //指定串口访问的类型,可以是读取.写入或两者并列 DWORD dwShareMode, //指定共享属性,由于串口不能共享,该参数必须置为…