Windows universal samples master

Windows universal samples master

Windows classic samples

This repo contains samples that demonstrate the API used in Windows classic desktop applications.

Note. You can use Microsoft Visual Studio to search the entire set of source code here to see whether the usage of a particular Windows API is being demonstrated. Clone this repo (or download the ZIP) to your local file system. Then Find in Files in Visual Studio, set Look in to the folder you cloned or downloaded into, and search for an API name. You can install Visual Studio without expense. A Community edition is available—it’s free for students, open-source contributors, and individuals.

These samples demonstrate the functionality and programming model for Windows and Windows Server. This repo contains Visual Studio solution (SLN) files for each sample, along with the source files, assets, resources, and metadata needed to compile and run the sample. For more info about the programming models, platforms, languages, and APIs demonstrated in these samples, check out the documentation on the Windows Dev Center.

Most of these samples were created for Windows 7, Windows 8.1 and/or Windows Server 2012 R2 using Visual Studio 2013, but some were created with earlier versions, or with specific SKU and other requirements. In many cases, the samples will also work on later versions than the ones indicated. If you cannot get a sample to work as expected, it might have platform, version, or SKU-specific requirements. If you have any issues with the samples, please provide feedback using the Issues list.

To get a copy of Visual Studio, go to Visual Studio Downloads.

Windows universal samples master

Shows how to use the Calendar class in the Windows.Globalization namespace to manipulate and process dates based on a calendar system and the user’s globalization preferences. (If you are looking for a sample which demonstrates an appointment calendar, see the Appointments sample.)

Note: This sample is part of a large collection of UWP feature samples. You can download this sample as a standalone ZIP file from docs.microsoft.com, or you can download the entire collection as a single ZIP file, but be sure to unzip everything to access shared dependencies. For more info on working with the ZIP file, the samples collection, and GitHub, see Get the UWP samples from GitHub. For more samples, see the Samples portal on the Windows Dev Center.

The Calendar class provides details of the user’s default calendar or a caller-specified calendar system. The class gives access to specific statistical details as well as the ability to perform calendar-aware math operations.

The Calendar object can convert to and from a language-specific date type:

This sample contains scenarios that demonstrate:

How to create a calendar for the user’s default preferences or for specific overrides, and how to display calendar details.

How to determine statistics for the current calendar date and time, such as the number of days in this month and the number of months in this year.

How to enumerate through a calendar and perform calendar math, such as determining the number of hours in a day that spans the transition from Daylight Saving Time. This scenario also demonstrates converting from a language-specific date type to a Calendar.

How to create a calendar using language names with supported Unicode extension tags, and how the extension tags are used by the calendar object.

How to support time zones in calendars, by changing several time zones within a calendar and showing the effect of the time zone change in the date and time properties of the calendar.

How to convert between calendars and a language-specific date type.

Windows universal samples master

Universal Windows Platform (UWP) app samples

This repo contains the samples that demonstrate the API usage patterns for the Universal Windows Platform (UWP) in the Windows Software Development Kit (SDK) for Windows 10. These code samples were created with the Universal Windows Platform templates available in Visual Studio, and are designed to run on desktop, mobile, and future devices that support the Universal Windows Platform.

Note: If you are unfamiliar with Git and GitHub, you can download the entire collection as a ZIP file, but be sure to unzip everything to access shared dependencies. For more info on working with the ZIP file, the samples collection, and GitHub, see Get the UWP samples from GitHub. For more samples, see the Samples portal on the Windows Dev Center.

Universal Windows Platform development

These samples require Visual Studio and the Windows Software Development Kit (SDK) for Windows 10.

Читайте также:  Find installed programs windows

Additionally, to stay on top of the latest updates to Windows and the development tools, become a Windows Insider by joining the Windows Insider Program.

Using the samples

The easiest way to use these samples without using Git is to download the zip file containing the current version (using the following link or by clicking the «Download ZIP» button on the repo page). You can then unzip the entire archive and use the samples in Visual Studio.

Notes:

  • Before you unzip the archive, right-click it, select Properties, and then select Unblock.
  • Be sure to unzip the entire archive, and not just individual samples. The samples all depend on the SharedContent folder in the archive.
  • In Visual Studio, the platform target defaults to ARM, so be sure to change that to x64 or x86 if you want to test on a non-ARM device.

The samples use Linked files in Visual Studio to reduce duplication of common files, including sample template files and image assets. These common files are stored in the SharedContent folder at the root of the repository, and are referred to in the project files using links.

Reminder: If you unzip individual samples, they will not build due to references to other portions of the ZIP file that were not unzipped. You must unzip the entire archive if you intend to build the samples.

For more info about the programming models, platforms, languages, and APIs demonstrated in these samples, please refer to the guidance, tutorials, and reference topics provided in the Windows 10 documentation available in the Windows Developer Center. These samples are provided as-is in order to indicate or demonstrate the functionality of the programming models and feature APIs for Windows.

These samples are direct from the feature teams and we welcome your input on issues and suggestions for new samples. At this time we are not accepting new samples from the public, but check back here as we evolve our contribution model.

This project has adopted the Microsoft Open Source Code of Conduct. For more information, see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

For additional Windows samples, see Windows on GitHub.

Windows universal samples master

Universal Windows Platform (UWP) app samples

This repo contains the samples that demonstrate the API usage patterns for the Universal Windows Platform (UWP) in the Windows Software Development Kit (SDK) for Windows 10. These code samples were created with the Universal Windows Platform templates available in Visual Studio, and are designed to run on desktop, mobile, and future devices that support the Universal Windows Platform.

Universal Windows Platform development

These samples require Visual Studio 2015 and the Windows Software Development Kit (SDK) for Windows 10 to build, test, and deploy your Universal Windows Platform apps.

Additionally, to stay on top of the latest updates to Windows and the development tools, become a Windows Insider by joining the Windows Insider Program.

Using the samples

The easiest way to use these samples without using Git is to download the zip file containing the current version (using the following link or by clicking the «Download ZIP» button on the repo page). You can then unzip the entire archive and use the samples in Visual Studio 2015.

Notes:

  • Before you unzip the archive, right-click it, select Properties, and then select Unblock.
  • Be sure to unzip the entire archive, and not just individual samples. The samples all depend on the SharedContent folder in the archive.
  • In Visual Studio 2015, the platform target defaults to ARM, so be sure to change that to x64 or x86 if you want to test on a non-ARM device.

The samples use Linked files in Visual Studio to reduce duplication of common files, including sample template files and image assets. These common files are stored in the SharedContent folder at the root of the repository, and are referred to in the project files using links.

Reminder: If you unzip individual samples, they will not build due to references to other portions of the ZIP file that were not unzipped. You must unzip the entire archive if you intend to build the samples.

For more info about the programming models, platforms, languages, and APIs demonstrated in these samples, please refer to the guidance, tutorials, and reference topics provided in the Windows 10 documentation available in the Windows Developer Center. These samples are provided as-is in order to indicate or demonstrate the functionality of the programming models and feature APIs for Windows.

Читайте также:  Vpceh3m1r драйвера windows 10

These samples are direct from the feature teams and we welcome your input on issues and suggestions for new samples. At this time we are not accepting new samples from the public, but check back here as we evolve our contribution model.

This project has adopted the Microsoft Open Source Code of Conduct. For more information, see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

For additional Windows samples, see Windows on GitHub.

Windows universal samples master

Shows how to send and receive data using the WebSocket classes in the Windows.Networking.Sockets namespace.

The sample demonstrates the following:

  • Making a WebSocket connection, sending and receiving data, and closing the connection.
  • Handling both trusted (hard coded) URI inputs and unvalidated (user-entered) URI inputs.
  • Accessing the server certificate information and perform custom validation (if needed) when using a secure Websocket (wss://) endpoint.
  • Providing a custom client certificate to use when establishing a secure Websocket connection.

Note: This sample is part of a large collection of UWP feature samples. You can download this sample as a standalone ZIP file from docs.microsoft.com, or you can download the entire collection as a single ZIP file, but be sure to unzip everything to access shared dependencies. For more info on working with the ZIP file, the samples collection, and GitHub, see Get the UWP samples from GitHub. For more samples, see the Samples portal on the Windows Dev Center.

Windows 10 provides support for the client use of WebSockets in a Universal Windows Platform (UWP) app. The Windows.Networking.Sockets namespace defines two types of WebSocket objects for use by clients:

  • MessageWebSocket is suitable for typical scenarios where messages are not extremely large. Both UTF-8 and binary messages are supported.
  • StreamWebSocket is more suitable for scenarios in which large files (such as photos or movies) are being transferred, allowing sections of a message to be read with each read operation rather than reading the entire message at once. Only binary messages are supported.

Both MessageWebSocket and StreamWebSocket connections are demonstrated in this sample. This sample shows how to use the following features:

  • Use a MessageWebSocket to send UTF-8 text messages. The server will echo the messages back.
  • Use a StreamWebSocket to send binary data. The server will echo the binary data back.
  • Use the ClientCertificate property of StreamWebSocketControl to provide client authentication information when connecting to a secure server.

Note This sample by default requires network access using the loopback interface.

This sample requires that network capabilities be set in the Package.appxmanifest file to allow the app to access the network at runtime. These capabilities can be set in the app manifest using Microsoft Visual Studio.

Private Networks (Client & Server): The sample has inbound and outbound network access on a home or work network (a local intranet). Even though this sample by default runs on loopback, it needs either the Private Networks (Client & Server) or Internet (Client) capability in order to access the network and send and receive data. The Private Networks (Client & Server) capability is represented by the Capability name = «privateNetworkClientServer» tag in the app manifest.

If the sample is modified to connect to the server component running on a different device on the Internet (a more typical app), the Internet (Client) capability must be set for the client component. This is represented by the Capability name = «internetClient».

Build the sample

  1. If you download the samples ZIP, be sure to unzip the entire archive, not just the folder with the sample you want to build.
  2. Start Microsoft Visual Studio and select File >Open >Project/Solution.
  3. Starting in the folder where you unzipped the samples, go to the Samples subfolder, then the subfolder for this specific sample, then the subfolder for your preferred language (C++, C#, or JavaScript). Double-click the Visual Studio Solution (.sln) file.
  4. Press Ctrl+Shift+B, or select Build >Build Solution.

The next steps depend on whether you just want to deploy the sample or you want to both deploy and run it.

Deploying the sample

  • Select Build >Deploy Solution.

Deploying and running the Windows version of the sample

  • To debug the sample and then run it, press F5 or use Debug >Start Debugging. To run the sample without debugging, press Ctrl+F5 or use Debug >Start Without Debugging.

For the app to attempt a WebSocket connection, this sample requires that a web server is available that supports WebSockets. The web server must also have a WebSocketSample path available to access. The web server must be started before the app is run. The sample includes a PowerShell script that will install and enable IIS on a local computer and enable WebSocket connections. The easiest way to run the sample is to use the provided web server scripts. The PowerShell script that will install IIS on the local computer, create the WebSocketSample folder on the server, copy files to this folder, and enable IIS.

Читайте также:  Как настроить роутер мтс для windows

Browse to the Server folder in your sample folder to setup and start the web server. There are two options possible.

Start PowerShell elevated (Run as administrator) and run the following command:

.\SetupServer.ps1

Note that you may also need to change script execution policy.

Start an elevated Command Prompt (Run as administrator) and run following command:

PowerShell.exe -ExecutionPolicy Unrestricted -File SetupServer.ps1

When the web server is not needed anymore, please browse to the Server folder in you sample folder and run one of the following:

Start PowerShell elevated (Run as administrator) and run the following command:

.\RemoveServer.ps1

Note that you may also need to change script execution policy.

Start an elevated Command Prompt (Run as administrator) and run following command:

PowerShell.exe -ExecutionPolicy Unrestricted -File RemoveServer.ps1

The sample can run using any web server, not only the one provided with the sample. If IIS is used on a different computer, then the previous scripts can be used with minor changes.

  • Copy the Server folder to the device where IIS will be run.
  • Run the above scripts to install and enable IIS and enable WebSocket connections.

The sample must also be updated when run against a non-localhost web server. To configure the sample for use with IIS on a different device:

  • Additional capabilities may need to be added to the app manifest for the sample. For example, Internet (Client & Server) if the web server is located on the Internet not on a local intranet.
  • The hostname of the server to connect to also needs to be updated. This can be handled in two ways. The ServerAddressField element in the HTML or XAML files can be edited so that «localhost» is replaced by the hostname or IP address of the web server. Alternately when the app is run, enter the hostname or IP address of the web server instead of the default «localhost» value in the Server Address field.

Note IIS is not available on ARM builds nor on Windows Phone. Instead, set up the web server on a separate 64-bit or 32-bit computer and follow the steps for using the sample against non-localhost web server.

However if a server different than IIS is used, then this requires some special configuration of the server.

  • Copy file Server\webSite\EchoWebSocket.ashx to the WebSocketSample folder on the web server.
  • Copy file Server\webSite\EchoWebSocket.ashx again to the same folder on the web server, but rename to EchoWebSocketWithClientAuthentication.ashx.
  • Configure the web server to accept WebSocket connections, and configure the web server to require SSL connection and client certificate on the EchoWebSocketWithClientAuthentication.ashx page.

To configure the sample for use with a web server different than IIS not using localhost:

  • Additional capabilities may need to be added to the app manifest for the sample. For example, Internet (Client & Server) if the web server is located on the Internet not on a local intranet.
  • The URI of the server to connect to also needs to be updated. This can be handled in two ways. The ServerAddressField element in the HTML or XAML files can be edited so that «localhost» is replaced by the hostname or IP address of the web server. Alternately when the app is run, enter the hostname or IP address of the web server instead of the default «localhost» value in the Server Address field.

Deploying and running the Windows Phone version of the sample

IIS is not available on Windows Phone. For the app to attempt a WebSocket connection to a server that supports WebSockets, there are two options:

  • The easiest way to run the sample is to use the provided web server scripts on a separate 64-bit or 32-bit device that can run IIS. Follow the instructions for deploying and running the Windows version of the sample using IIS on a different device.
  • Use a web server different than IIS on a separate device. Follow the instructions for deploying and running the Windows version of the sample using a non-IIS web server.

The client certificate API demonstrated in scenario 3 does not currently work on XBOX.

Оцените статью