Some of your questions can be answered in the "how do I start" section [1]. To fast forward your exploration through some of the links:
1. Software Requirements: There aren't any additional tools to *use* protobuf (Protocol Buffers). If you're building it, then there are some dependencies described in (2) below.
2. Installation Guide: Here is how to install protoc on windows [2]
3. Necessary Commands: "Using protobuf" consists of the following general workflow:
A. Use `protoc` to generate source code [4] from protobuf definitions[3].
B. Include your generated source code in your project [5]. This is essentially putting the ".h" and ".cc" files in your project and treating them like normal header and source files.
C. Compile your project. How you do this depends on how you build your C++ code. An example using a Makefile is available in the protobuf repo [6].
As you can maybe guess, generating source code has to happen when you change your protobuf definitions (protocol definition), but isn't necessary otherwise. Everytime you compile your project, though, you need to link against the protobuf library. The example I reference above uses pkg-config which looks like this:
> >> pkg-config --cflags --libs protobuf
> -DPROTOBUF_USE_DLLS -Wno-float-conversion -Wno-implicit-float-conversion -Wno-implicit-int-float-conversion -Wno-unknown-warning-option -DNOMINMAX -I... -L... ... -labsl_log_severity
note that I omitted a whole lot of link flags and details and a whole lot of other repeated flags (unfortunate effect of how pkg-config for absl is implemented)