Microsoft does actually provide [some guidance for this][1] in the context of dialog boxes. They suggest a few different approaches which are similar to those found on the web, and to some extent in Mac OS.
> To indicate that users must provide information in a control, consider
> the following options:
> 
>  - **Don't indicate anything but handle missing required input with error messages.** This approach reduces clutter and works well if most
> input is optional or users aren't likely to skip controls, thus
> keeping the number of error messages low.
>  - **Indicate required input using an asterisk at the beginning of the label.** Explain the asterisk using either:
>   - A footnote at the bottom of the content area that says * Required input.
>   - A tooltip on the asterisk that says Required input.
> 
> This approach works well if there aren't many required controls, but
> poorly if most controls are required. **If all controls require input,
> state "All input required" at an appropriate place at the top of the
> content area.** This approach reduces clutter for this specific case.


  [1]: http://msdn.microsoft.com/en-us/library/windows/desktop/aa511268.aspx#requiredInput