Quantcast
Channel: Microsoft All-In-One Code Framework
Viewing all 15 articles
Browse latest View live

All-In-One Windows Shell Code Samples

$
0
0

All-In-One Windows Shell Code Samples

Introduction

The All-In-One Windows Shell code samples demonstrate the typical programming topics about extending Windows Shell and using the Windows Shell APIs. These topics are either frequently asked in MSDN forums and Microsoft Support, or are requested by many developers via our code sample request function. We want to alleviate the frustration felt by developers when they are developing against Windows Shell.

 

 

Visual Studio 2008 Code Samples

Sample Description Download ReadMe
ATLShellExtColumnHandler The code sample illustrates how to create a Windows Shell column handler in VC++ (ATL) Download ReadMe.txt
ATLShellExtContextMenuHandler The code sample illustrates how to create a Windows Shell context menu handler in VC++ (ATL) Download ReadMe.txt
ATLShellExtDragAndDropHandler The code sample illustrates how to create a Windows Shell drag and drop handler in VC++ (ATL) Download ReadMe.txt
ATLShellExtIconHandler The code sample illustrates how to create a Windows Shell icon handler in VC++ (ATL) Download ReadMe.txt
ATLShellExtIconOverlayHandler The code sample illustrates how to create a Windows Shell icon overlay handler in VC++ (ATL) Download ReadMe.txt
ATLShellExtInfotipHandler The code sample illustrates how to create a Windows Shell infotip handler in VC++ (ATL) Download ReadMe.txt
ATLShellExtPropSheetHandler The code sample illustrates how to create a Windows Shell property sheet handler in VC++ (ATL) Download ReadMe.txt
CppShellCommonFileDialog The code sample demonstrates the use of Windows Shell common file dialogs, e.g. the common file open dialog Download ReadMe.txt
CppShellKnownFolders This code sample provides a way to interact with certain high-profile folders (Known Folders) that are present by default in Microsoft Windows, e.g. the Program Files folder. It also allows those same interactions with folders installed and registered wit Download ReadMe.txt
CppWin7ShellLibrary The VC++ code sample demonstrates how to create, open, delete, rename and manage shell libraries in Windows 7. It also shows how to add, remove and list folders in a shell library. Download ReadMe.txt
CppWin7TaskbarAppID The VC++ code sample demostrates how to allow an application to group its associated processes and windows under a single taskbar button by setting process level Application User Model IDs (AppUserModelIDs or AppIDs) and modifying the AppIDs for a specifi Download ReadMe.txt
CppWin7TaskbarOverlayIcons This example demostrates how to initialize Windows 7 Taskbar list instance, set and clear Taskbar Overlay Icons using ITaskbarList3 related APIs. Download ReadMe.txt
CppWin7TaskbarProgressBar This example demostrates how to initialize Windows 7 Taskbar list instance, set Taskbar ProgressBar state and progress value using ITaskbarList3 related APIs. Download ReadMe.txt
CSShellCommonFileDialog The code sample demonstrates the use of Windows Shell common file dialogs, e.g. the common file open dialog Download ReadMe.txt
CSShellKnownFolders This code sample provides a way to interact with certain high-profile folders (Known Folders) that are present by default in Microsoft Windows, e.g. the Program Files folder. It also allows those same interactions with folders installed and registered wit Download ReadMe.txt
CSWin7ShellLibrary The VC# code sample demonstrates how to create, open, delete, rename and manage shell libraries in Windows 7. It also shows how to add, remove and list folders in a shell library. Download ReadMe.txt
CSWin7TaskbarAppID The VC# code sample demostrates how to allow an application to group its associated processes and windows under a single taskbar button by setting process level Application User Model IDs (AppUserModelIDs or AppIDs) and modifying the AppIDs for a specific Download ReadMe.txt
CSWin7TaskbarJumpList This example demostrates how to set register Jump List file handle, add items into Recent/Frequent known categories, add/remove user tasks, and add items/links into custom categories in Windows 7 Taskbar Jump List. Download ReadMe.txt
CSWin7TaskbarOverlayIcons This example demostrates how to initialize Windows 7 Taskbar list instance, set and clear Taskbar Overlay Icons using ITaskbarList3 related APIs. Download ReadMe.txt
CSWin7TaskbarProgressbar This example demostrates how to initialize Windows 7 Taskbar list instance, set Taskbar ProgressBar state and progress value using ITaskbarList3 related APIs. Download ReadMe.txt
CSWin7TaskbarThumbnail This example demostrates how to set Taskbar Thumbnail previews, change Thumbnail previews order, set Thumbnail toolbars using Taskbar related APIs in Windows API Code Pack. Download ReadMe.txt
VBShellKnownFolders This code sample provides a way to interact with certain high-profile folders (Known Folders) that are present by default in Microsoft Windows, e.g. the Program Files folder. It also allows those same interactions with folders installed and registered wit Download ReadMe.txt
VBWin7ShellLibrary The VB code sample demonstrates how to create, open, delete, rename and manage shell libraries in Windows 7. It also shows how to add, remove and list folders in a shell library. Download ReadMe.txt
VBWin7TaskbarAppID The VB code sample demostrates how to allow an application to group its associated processes and windows under a single taskbar button by setting process level Application User Model IDs (AppUserModelIDs or AppIDs) and modifying the AppIDs for a specific Download ReadMe.txt
VBWin7TaskbarJumpList This example demostrates how to set register Jump List file handle, add items into Recent/Frequent known categories, add/remove user tasks, and add items/links into custom categories in Windows 7 Taskbar Jump List. Download ReadMe.txt
VBWin7TaskbarOverlayIcons This example demostrates how to initialize Windows 7 Taskbar list instance, set and clear Taskbar Overlay Icons using ITaskbarList3 related APIs. Download ReadMe.txt
VBWin7TaskbarProgressbar This example demostrates how to initialize Windows 7 Taskbar list instance, set Taskbar ProgressBar state and progress value using ITaskbarList3 related APIs. Download ReadMe.txt
VBWin7TaskbarThumbnail This example demostrates how to set Taskbar Thumbnail previews, change Thumbnail previews order, set Thumbnail toolbars using Taskbar related APIs in Windows API Code Pack. Download ReadMe.txt

 

Visual Studio 2010 Code Samples

Sample Description Download ReadMe
CppShellExtContextMenuHandler The code sample illustrates how to create a Windows Shell context menu handler in VC++ Download ReadMe.txt
CppShellExtCopyHookHandler The code sample illustrates how to create a Windows Shell copy hook handler in VC++ Download ReadMe.txt
CppShellExtDragDropHandler The code sample illustrates how to create a Windows Shell drag and drop handler in VC++ Download ReadMe.txt
CppShellExtInfotipHandler The code sample illustrates how to create a Windows Shell infotip handler in VC++ Download ReadMe.txt
CppShellExtPreviewHandler The code sample demonstrates the VC++ implementation of a preview handler for a new file type registered with the .recipe extension. Download ReadMe.txt
CppShellExtPropSheetHandler The code sample illustrates how to create a Windows Shell property sheet handler in VC++ Download ReadMe.txt
CppShellExtThumbnailHandler The code sample demonstrates the VC++ implementation of a Windows Shell preview handler for a new file type registered with the .recipe extension. Download ReadMe.txt

 

Download all code samples: http://1code.codeplex.com/releases

 

Submit your request of Windows Shell code samples (Guidance)


[Sample of May 15th] C++ Windows Shell context menu handler

$
0
0

 

Homepage image
Sample of the Day RSS Feed

Sample Downloads: http://code.msdn.microsoft.com/CppShellExtContextMenuHandl-410a709a 

Today’s sample demonstrates demonstrates creating a Shell context menu handler with C++.

imageYou can find more code samples that demonstrate the most typical programming scenarios by using Microsoft All-In-One Code Framework Sample Browser or Sample Browser Visual Studio extension. They give you the flexibility to search samples, download samples on demand, manage the downloaded samples in a centralized place, and automatically be notified about sample updates. If it is the first time that you hear about Microsoft All-In-One Code Framework, please watch the introduction video on Microsoft Showcase, or read the introduction on our homepage http://1code.codeplex.com/.

 

Introduction

The code sample demonstrates creating a Shell context menu handler with C++.

A context menu handler is a shell extension handler that adds commands to an existing context menu. Context menu handlers are associated with a particular file class and are called any time a context menu is displayed for a member of the class. While you can add items to a file class context menu with the registry, the items will be the same for all members of the class. By implementing and registering such a handler, you can dynamically add items to an object's context menu, customized for the particular object.
 
Context menu handler is the most powerful but also the most complicated method to implement. It is strongly encouraged that you implement a context menu using one of the static verb methods if applicable:
 http://msdn.microsoft.com/en-us/library/dd758091.aspx

The example context menu handler has the class ID (CLSID):
   {BFD98515-CD74-48A4-98E2-13D209E3EE4F}
 
It adds the menu item "Display File Name (C++)" with icon to the context menu when you right-click a .cpp file in the Windows Explorer. Clicking the menu item brings up a message box that displays the full path of the .cpp file.

Setup and Removal

A. Setup
 
If you are going to use the Shell extension in a x64 Windows system, please configure the Visual C++ project to target 64-bit platforms using project configurations (http://msdn.microsoft.com/en-us/library/9yb4317s.aspx).'>http://msdn.microsoft.com/en-us/library/9yb4317s.aspx). Only
64-bit extension DLLs can be loaded in the 64-bit Windows Shell.

If the extension is to be loaded in a 32-bit Windows system, you can use the default Win32 project configuration to build the project.
 
In a command prompt running as administrator, navigate to the folder that contains the build result CppShellExtContextMenuHandler.dll and enter the command:
 
   Regsvr32.exe CppShellExtContextMenuHandler.dll
 
The context menu handler is registered successfully if you see a message box saying:
 
   "DllRegisterServer in CppShellExtContextMenuHandler.dll succeeded."
 
B. Removal
 
In a command prompt running as administrator, navigate to the folder that contains the build result CppShellExtContextMenuHandler.dll and enter the command:
 
   Regsvr32.exe /u CppShellExtContextMenuHandler.dll
 
The context menu handler is unregistered successfully if you see a message box saying:
 
   "DllUnregisterServer in CppShellExtContextMenuHandler.dll succeeded."
 

Running the Sample

The following steps walk through a demonstration of the context menu handler code sample.
 
Step1. If you are going to use the Shell extension in a x64 Windows system, please configure the Visual C++ project to target 64-bit platforms using project configurations http://msdn.microsoft.com/en-us/library/9yb4317s.aspx.  Only 64-bit extension DLLs can be loaded in the 64-bit Windows Shell.

If the extension is to be loaded in a 32-bit Windows system, you can use the default Win32 project configuration.
 
Step2. After you successfully build the sample project in Visual Studio 2010, you will get a DLL: CppShellExtContextMenuHandler.dll. Start a command prompt as administrator, navigate to the folder that contains the file and enter the command:
 
   Regsvr32.exe CppShellExtContextMenuHandler.dll
 
The context menu handler is registered successfully if you see a message box saying:
 
   "DllRegisterServer in CppShellExtContextMenuHandler.dll succeeded."
 
Step3. Find a .cpp file in the Windows Explorer (e.g. FileContextMenuExt.cpp in the sample folder), and right click it. You would see the "Display File Name (C++)" menu item with icon in the context menu and a menu seperator below it. Clicking the menu item brings up a message box that displays the full path of the .cpp file.
 
The "Display File Name (C++)" menu item is added and displayed when only one .cpp file is selected and right-clicked. If more than one file are selected in the Windows Explorer, you will not see the context menu item.
 
Step4. In the same command prompt, run the command

   Regsvr32.exe /u CppShellExtContextMenuHandler.dll
 
to unregister the Shell context menu handler.
 

More Information

MSDN: Initializing Shell Extensions
 http://msdn.microsoft.com/en-us/library/cc144105.aspx
 
MSDN: Creating Context Menu Handlers
 http://msdn.microsoft.com/en-us/library/bb776881.aspx
 
MSDN: Implementing the Context Menu COM Object
 http://msdn.microsoft.com/en-us/library/ms677106.aspx
 
MSDN: Extending Shortcut Menus
 http://msdn.microsoft.com/en-us/library/cc144101.aspx
 
MSDN: Choosing a Static or Dynamic Shortcut Menu Method
 http://msdn.microsoft.com/en-us/library/dd758091.aspx'>http://msdn.microsoft.com/en-us/library/dd758091.aspx
 
The Complete Idiot's Guide to Writing Shell Extensions
 http://www.codeproject.com/KB/shell/shellextguide1.aspx
 http://www.codeproject.com/KB/shell/shellextguide2.aspx
 http://www.codeproject.com/KB/shell/shellextguide7.aspx
 
How to Use Submenus in a Context Menu Shell Extension
 http://www.codeproject.com/KB/shell/ctxextsubmenu.aspx

[Sample of Oct 8th] Print an image using ShellExecute

$
0
0

 

Homepage image
RSS Feed

Sample Download : http://code.msdn.microsoft.com/CSShellPrintImageWithShellE-adda9973

The sample demonstrates how to print an image using ShellExecute to invoke ImageView_PrintTo, equivalent to right clicking on an image and printing. Using the printto verb with ShellExecute may have unpredictable effects since this may be configured differently on different operating systems.  The approach demonstrated here invokes ImageView directly with the correct parameters to directly print an image to the default printer.

imageYou can find more code samples that demonstrate the most typical programming scenarios by using Microsoft All-In-One Code Framework Sample Browser or Sample Browser Visual Studio extension. They give you the flexibility to search samples, download samples on demand, manage the downloaded samples in a centralized place, and automatically be notified about sample updates. If it is the first time that you hear about Microsoft All-In-One Code Framework, please watch the introduction video on Microsoft Showcase, or read the introduction on our homepage http://1code.codeplex.com/.

[Sample Of Apr 10th] Print an image using ShellExecute

$
0
0

 

Homepageimage
RSS Feed

Sample Download : http://code.msdn.microsoft.com/CSShellPrintImageWithShellE-adda9973

The sample demonstrates how to print an image using ShellExecute to invoke ImageView_PrintTo, equivalent to right clicking on an image and printing. Using the printto verb with ShellExecute may have unpredictable effects since this may be configured differently on different operating systems.  The approach demonstrated here invokes ImageView directly with the correct parameters to directly print an image to the default printer.
image

You can find more code samples that demonstrate the most typical programming scenarios by using Microsoft All-In-One Code Framework Sample Browser or Sample Browser Visual Studio extension. They give you the flexibility to search samples, download samples on demand, manage the downloaded samples in a centralized place, and automatically be notified about sample updates. If it is the first time that you hear about Microsoft All-In-One Code Framework, please watch the introduction video on Microsoft Showcase, or read the introduction on our homepage http://1code.codeplex.com/.

[Sample Of Feb 2nd] How to print an image using ShellExecute

$
0
0

 

Homepageimage
RSS Feed

Sample Download : http://code.msdn.microsoft.com/CSShellPrintImageWithShellE-adda9973

The sample demonstrates how to print an image using ShellExecute to invoke ImageView_PrintTo, equivalent to right clicking on an image and printing. Using the printto verb with ShellExecute may have unpredictable effects since this may be configured differently on different operating systems.  The approach demonstrated here invokes ImageView directly with the correct parameters to directly print an image to the default printer.

 

imageYou can find more code samples that demonstrate the most typical programming scenarios by using Microsoft All-In-One Code Framework Sample Browser or Sample Browser Visual Studio extension. They give you the flexibility to search samples, download samples on demand, manage the downloaded samples in a centralized place, and automatically be notified about sample updates. If it is the first time that you hear about Microsoft All-In-One Code Framework, please watch the introduction video on Microsoft Showcase, or read the introduction on our homepage http://1code.codeplex.com/.

[Sample Of Aug. 11] How to pass data from one javascript file to another in windows 8 store app

$
0
0
image image
Aug.
11
image

Sample : http://code.msdn.microsoft.com/How-to-pass-data-from-one-d6b6401e

This sample demonstrates how to share data between Javascript files.

image

 

You can find more code samples that demonstrate the most typical programming scenarios by using Microsoft All-In-One Code Framework Sample Browser or Sample Browser Visual Studio extension. They give you the flexibility to search samples, download samples on demand, manage the downloaded samples in a centralized place, and automatically be notified about sample updates. If it is the first time that you hear about Microsoft All-In-One Code Framework, please watch the introduction video on Microsoft Showcase, or read the introduction on our homepage http://1code.codeplex.com/.

[Sample Of Aug. 12] How to Use Microsoft Azure Access Control Service with JWT

$
0
0
image image
Aug.
12
image

Sample : http://code.msdn.microsoft.com/How-to-Use-Azure-Access-55466410

This article and the attached code samples demonstrate how to use Azure ACS work with third part Identity provider such as google, yahoo. You can find the answers for all the following questions in the code sample:

  • How to use third part IDP such as google, yahoo in WPF.
  • How to get RP’s claims information in WPF client app.
  • How to desterilize security token provided by google or yahoo.

image

 

You can find more code samples that demonstrate the most typical programming scenarios by using Microsoft All-In-One Code Framework Sample Browser or Sample Browser Visual Studio extension. They give you the flexibility to search samples, download samples on demand, manage the downloaded samples in a centralized place, and automatically be notified about sample updates. If it is the first time that you hear about Microsoft All-In-One Code Framework, please watch the introduction video on Microsoft Showcase, or read the introduction on our homepage http://1code.codeplex.com/.

[Sample Of Aug. 13] Determine which Windows Azure Cloud Service Role instance handles the request

$
0
0
image image
Aug.
13
image

Sample : http://code.msdn.microsoft.com/How-to-determine-which-d5ff859d

This sample will demonstrate how to determine which windows Azure Cloud Service Role instance handles the request.

image

 

You can find more code samples that demonstrate the most typical programming scenarios by using Microsoft All-In-One Code Framework Sample Browser or Sample Browser Visual Studio extension. They give you the flexibility to search samples, download samples on demand, manage the downloaded samples in a centralized place, and automatically be notified about sample updates. If it is the first time that you hear about Microsoft All-In-One Code Framework, please watch the introduction video on Microsoft Showcase, or read the introduction on our homepage http://1code.codeplex.com/.


[Sample Of Aug. 14] How to Resize WPF panel on Runtime.

$
0
0
image image
Aug.
14
image

Sample download:

VS2013 version http://code.msdn.microsoft.com/How-to-Resize-WPF-panel-on-62fbbf12  

VS2012 version http://code.msdn.microsoft.com/How-to-Resize-WPF-panel-on-de97abaf 

VS2010 version http://code.msdn.microsoft.com//How-to-Resize-WPF-panel-on-637f7bce

In WPF application, when controls are render user will not be able to resize them if required. If there is requirement for allowing users to resize the control on runtime, we can using this code. This document and the attached code sample demonstrates how we can resize WPF controls on runtime.

image

 

You can find more code samples that demonstrate the most typical programming scenarios by using Microsoft All-In-One Code Framework Sample Browser or Sample Browser Visual Studio extension. They give you the flexibility to search samples, download samples on demand, manage the downloaded samples in a centralized place, and automatically be notified about sample updates. If it is the first time that you hear about Microsoft All-In-One Code Framework, please watch the introduction video on Microsoft Showcase, or read the introduction on our homepage http://1code.codeplex.com/.

[Sample Of Aug. 15] How to Use Microsoft Azure Access Control Service with JWT

$
0
0
image image
Aug.
15
image

Sample : http://code.msdn.microsoft.com/How-to-Use-Azure-Access-c4949d8b

This article and the attached code samples demonstrate how to use Azure ACS work with third part Identity provider such as google, yahoo. You can find the answers for all the following questions in the code sample:

How to use third part IDP such as google, yahoo in WPF.

How to get RP’s claims information in WPF client app.

How to desterilize security token provided by google or yahoo.

image

 

You can find more code samples that demonstrate the most typical programming scenarios by using Microsoft All-In-One Code Framework Sample Browser or Sample Browser Visual Studio extension. They give you the flexibility to search samples, download samples on demand, manage the downloaded samples in a centralized place, and automatically be notified about sample updates. If it is the first time that you hear about Microsoft All-In-One Code Framework, please watch the introduction video on Microsoft Showcase, or read the introduction on our homepage http://1code.codeplex.com/.

[Sample Of Aug. 18] How to move multiple emails in Office365

$
0
0
image image
Aug.
18
image

Sample : http://code.msdn.microsoft.com/How-to-move-multiple-6a6a177d

In this sample, we will demonstrate how to move the emails into the destination folder in the office 365.

We can move the emails to the specific folder to manage them. So we can follow these steps to implement it:

1. Create a search folder to collect the emails;

2. Get the search folder and destination folder;

3. Move the emails;

image

 

You can find more code samples that demonstrate the most typical programming scenarios by using Microsoft All-In-One Code Framework Sample Browser or Sample Browser Visual Studio extension. They give you the flexibility to search samples, download samples on demand, manage the downloaded samples in a centralized place, and automatically be notified about sample updates. If it is the first time that you hear about Microsoft All-In-One Code Framework, please watch the introduction video on Microsoft Showcase, or read the introduction on our homepage http://1code.codeplex.com/.

[Sample Of Aug. 19] How to Create and Execute SqlCommand in ADO.NET

$
0
0
image image
Aug.
19
image

Sample : http://code.msdn.microsoft.com/How-to-Create-and-Execute-86922261

We can create and execute different types of SqlCommand. In this applilcation, we will demonstrate how to create and execute SqlCommand:

1. Create different types of SqlCommand;

2. Execute SqlCommand in different ways;

3. Display the result.

image

 

You can find more code samples that demonstrate the most typical programming scenarios by using Microsoft All-In-One Code Framework Sample Browser or Sample Browser Visual Studio extension. They give you the flexibility to search samples, download samples on demand, manage the downloaded samples in a centralized place, and automatically be notified about sample updates. If it is the first time that you hear about Microsoft All-In-One Code Framework, please watch the introduction video on Microsoft Showcase, or read the introduction on our homepage http://1code.codeplex.com/.

[Sample Of Aug. 20] How to dynamically bind event handler in .aspx page to a control in .ascx page

$
0
0
image image
Aug.
20
image

Sample : http://code.msdn.microsoft.com/How-to-dynamically-bind-an-d1c4ba64

Developers always want to bind a control event to at run time.

This sample will demonstrate how to dynamically bind an event handler on an aspx page to a control on an ascx page. You can find answers for all the following questions in this code sample:

How to get handler string and use reflection to bind click event to specific method.

How to write Handler for Click event in external classes.

image

 

You can find more code samples that demonstrate the most typical programming scenarios by using Microsoft All-In-One Code Framework Sample Browser or Sample Browser Visual Studio extension. They give you the flexibility to search samples, download samples on demand, manage the downloaded samples in a centralized place, and automatically be notified about sample updates. If it is the first time that you hear about Microsoft All-In-One Code Framework, please watch the introduction video on Microsoft Showcase, or read the introduction on our homepage http://1code.codeplex.com/.

[Sample Of Aug. 21] How to unregister test controller with team project collection using TFS APIs

$
0
0
image image
Aug.
21
image

Sample : http://code.msdn.microsoft.com/How-to-unregister-test-a418652b

This sample demonstrates how to unregister Test Controller from team project collection using TFS APIs.

image

 

You can find more code samples that demonstrate the most typical programming scenarios by using Microsoft All-In-One Code Framework Sample Browser or Sample Browser Visual Studio extension. They give you the flexibility to search samples, download samples on demand, manage the downloaded samples in a centralized place, and automatically be notified about sample updates. If it is the first time that you hear about Microsoft All-In-One Code Framework, please watch the introduction video on Microsoft Showcase, or read the introduction on our homepage http://1code.codeplex.com/.

[Sample Of Aug. 22] How to use DropDownList with ASP.NET MVC

$
0
0
image image
Aug.
22
image

Sample : http://code.msdn.microsoft.com/How-to-use-DropDownList-1961c60e

ASP.NET MVC 4 is a framework for building scalable, standards-based web applications using well-established design patterns and the power of ASP.NET and the .NET Framework. This article and the attached code samples demonstrate demonstrates how to use cascading dropdown list with ASP.NET MVC 4. You can find the answers for all the following questions in the code sample:

• How to create a simple dropdown list

• How to post data to server when dropdown list selected item changed

• How to implement cascaded DropDownList

• How to update the local section accroding to the item selected

• How to dynamically generate options for dropdown list

image

 

You can find more code samples that demonstrate the most typical programming scenarios by using Microsoft All-In-One Code Framework Sample Browser or Sample Browser Visual Studio extension. They give you the flexibility to search samples, download samples on demand, manage the downloaded samples in a centralized place, and automatically be notified about sample updates. If it is the first time that you hear about Microsoft All-In-One Code Framework, please watch the introduction video on Microsoft Showcase, or read the introduction on our homepage http://1code.codeplex.com/.


Viewing all 15 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>