{"id":3671,"date":"2013-11-12T13:57:53","date_gmt":"2013-11-12T08:27:53","guid":{"rendered":"http:\/\/live-42gears-site.pantheonsite.io\/blog\/?p=3671"},"modified":"2023-01-13T06:02:23","modified_gmt":"2023-01-13T06:02:23","slug":"sub-classing-a-wpf-applications-wndproc","status":"publish","type":"post","link":"https:\/\/www.42gears.com\/es\/blog\/sub-classing-a-wpf-applications-wndproc\/","title":{"rendered":"Sub Classing a WPF Application\u2019s WndProc"},"content":{"rendered":"<table border=\"0\" width=\"200\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td style=\"text-align: left;\" colspan=\"2\" width=\"128\" height=\"20\"><span style=\"color: #585858; font-size: small;\"><strong><span style=\"text-decoration: underline;\">Applies to<\/span>:<\/strong><\/span><\/td>\n<\/tr>\n<tr>\n<td height=\"20\"><span style=\"color: #0080ff; font-size: small;\"><strong>Product<\/strong><\/span><\/td>\n<td height=\"20\"><strong><span style=\"color: #fe8f8f; font-size: small;\">General<\/span><\/strong><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\" height=\"20\"><span style=\"color: #0080ff; font-size: small;\"><strong>Platform<\/strong><\/span><\/td>\n<td height=\"20\"><strong><span style=\"color: #fe8f8f; font-size: small;\">Windows<\/span><\/strong><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>With the introduction of <em>Windows Presentation Foundation<\/em> (WPF), developers can now create rich User Interface applications which is preferred by end users. While developing such applications, sometimes there can be a need to intercept the Window messages. This can be achieved easily in Win32 and WinForm applications and one would wonder is this possible in WPF as well? The answer to this question is, yes it is possible. This article does exactly that and will explain how to Sub class a WPF application\u2019s WndProc.<\/p>\n<p><strong><span style=\"color: #08298a;\">.Net Classes Used<\/span><\/strong><\/p>\n<ol>\n<li><strong>WindowInteropHelper <\/strong>: This class is needed to retrieve the handle of the WPF application window.<\/li>\n<li><strong>HwndSource <\/strong>: The class will provide a method to hook the WndProc of the WPF application.<\/li>\n<\/ol>\n<p><strong><span style=\"color: #08298a;\">Code Snippet<\/span><\/strong><\/p>\n<div style=\"font-size: 12px; width: 100%; height: 318px; overflow: auto; border: 1px dashed #000000;\">\n<p>private void MainWindowLoaded(object sender, RoutedEventArgs e)<\/p>\n<p>{<br \/>\nHwndSource source = HwndSource.FromHwnd(new WindowInteropHelper(this).Handle);<br \/>\nsource.AddHook(new HwndSourceHook(WndProc));<br \/>\n}<\/p>\n<p>private IntPtr WndProc(IntPtr hwnd, int msg, IntPtr wParam, IntPtr lParam,ref bool handled)<br \/>\n{<br \/>\nif(msg==WM_CLOSE)<br \/>\n{<br \/>\n\/\/Avoiding a close event<br \/>\nhandled=true;<br \/>\n}<br \/>\nreturn IntPtr.Zero;<br \/>\n}<\/p>\n<\/div>\n<p>In the above Snippet, the <em>WindowInteropHelper<\/em> class provides the handle to the WPF application window which is passed to the <em>HwndSource<\/em> class and the <em>AddHook<\/em> method allows to intercept the Window messages using a WndProc, which is WM_CLOSE in this case<\/p>\n<p><strong>NOTE: The HwndSource object should be created only in the Loaded event of your application because that\u2019s when your WPF application is assigned a Window handle, else the WindowInteropHelper class will return an invalid handle.<\/strong><\/p>\n<p><strong><span style=\"color: #0040ff;\">Download Source Files<\/span><\/strong><\/p>\n<p><a href=\"http:\/\/live-42gears-site.pantheonsite.io\/case_studies\/case_studies_national_trust.html\"><img decoding=\"async\" class=\"aligncenter\" title=\"National Trust - Case Study\" src=\"http:\/\/live-42gears-site.pantheonsite.io\/wp-content\/uploads\/2013\/11\/casestudy_nt1.png\" alt=\"\" width=\"585\" height=\"98\"><\/a><\/p>\n<p style=\"text-align: center;\"><strong>Read more about our products:<\/strong><\/p>\n<p style=\"text-align: center;\"><a href=\"http:\/\/live-42gears-site.pantheonsite.io\/surelock\/\"><img decoding=\"async\" title=\"SureLock\" src=\"http:\/\/live-42gears-site.pantheonsite.io\/wp-content\/uploads\/2013\/11\/surelock1.png\" alt=\"\" width=\"159\" height=\"184\"><\/a>&nbsp;&nbsp;<a href=\"http:\/\/live-42gears-site.pantheonsite.io\/surefox\/\"><img decoding=\"async\" title=\"SureFox\" src=\"http:\/\/live-42gears-site.pantheonsite.io\/wp-content\/uploads\/2013\/11\/surefox31.png\" alt=\"\" width=\"147\" height=\"184\"><\/a>&nbsp;&nbsp;<a href=\"http:\/\/live-42gears-site.pantheonsite.io\/suremdm\/index.html\"><img decoding=\"async\" title=\"SureMDM\" src=\"http:\/\/live-42gears-site.pantheonsite.io\/wp-content\/uploads\/2013\/11\/suremdm21.png\" alt=\"\" width=\"142\" height=\"184\"><\/a>&nbsp;&nbsp;<a href=\"http:\/\/live-42gears-site.pantheonsite.io\/surevideo\/\"><img decoding=\"async\" title=\"SureVideo\" src=\"http:\/\/live-42gears-site.pantheonsite.io\/wp-content\/uploads\/2013\/11\/surevideo11.png\" alt=\"\" width=\"155\" height=\"184\"><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Applies to: Product General Platform Windows With the introduction of Windows Presentation Foundation (WPF), developers can now create rich User Interface applications which is preferred by end users. While developing such applications, sometimes there can be a need to intercept the Window messages. This can be achieved easily in Win32 and WinForm applications and one&hellip;<\/p>\n","protected":false},"author":7,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[39,8,97,98,31,60],"tags":[182,27],"class_list":["post-3671","post","type-post","status-publish","format-standard","hentry","category-development","category-general","category-windows-7","category-windows-8","category-windows-mobile","category-windows-phone-7","tag-general-2","tag-windows"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v24.6 (Yoast SEO v24.6) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Sub Classing A WPF Application\u2019s WndProc | 42Gears<\/title>\n<meta name=\"description\" content=\"42Gears\u2019 blog has everything you need to future-proof your business. Find out how he introduction of Windows Presentation Foundation (WPF) benefits end users.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.42gears.com\/blog\/sub-classing-a-wpf-applications-wndproc\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Sub Classing a WPF Application\u2019s WndProc\" \/>\n<meta property=\"og:description\" content=\"42Gears\u2019 blog has everything you need to future-proof your business. Find out how he introduction of Windows Presentation Foundation (WPF) benefits end users.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.42gears.com\/blog\/sub-classing-a-wpf-applications-wndproc\/\" \/>\n<meta property=\"og:site_name\" content=\"42Gears Mobility Systems\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/42gears\" \/>\n<meta property=\"article:published_time\" content=\"2013-11-12T08:27:53+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-01-13T06:02:23+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/live-42gears-site.pantheonsite.io\/wp-content\/uploads\/2013\/11\/casestudy_nt1.png\" \/>\n<meta name=\"author\" content=\"42Gears Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@42Gears\" \/>\n<meta name=\"twitter:site\" content=\"@42Gears\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"42Gears Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.42gears.com\/blog\/sub-classing-a-wpf-applications-wndproc\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.42gears.com\/blog\/sub-classing-a-wpf-applications-wndproc\/\"},\"author\":{\"name\":\"42Gears Team\",\"@id\":\"https:\/\/www.42gears.com\/#\/schema\/person\/28a14f2c32de4a7903ac672579a88a2d\"},\"headline\":\"Sub Classing a WPF Application\u2019s WndProc\",\"datePublished\":\"2013-11-12T08:27:53+00:00\",\"dateModified\":\"2023-01-13T06:02:23+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.42gears.com\/blog\/sub-classing-a-wpf-applications-wndproc\/\"},\"wordCount\":271,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.42gears.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.42gears.com\/blog\/sub-classing-a-wpf-applications-wndproc\/#primaryimage\"},\"thumbnailUrl\":\"http:\/\/live-42gears-site.pantheonsite.io\/wp-content\/uploads\/2013\/11\/casestudy_nt1.png\",\"keywords\":[\"general\",\"windows\"],\"articleSection\":[\"Development\",\"General\",\"Windows 7\",\"Windows 8\",\"Windows Mobile\",\"Windows Phone 7\"],\"inLanguage\":\"es-ES\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.42gears.com\/blog\/sub-classing-a-wpf-applications-wndproc\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.42gears.com\/blog\/sub-classing-a-wpf-applications-wndproc\/\",\"url\":\"https:\/\/www.42gears.com\/blog\/sub-classing-a-wpf-applications-wndproc\/\",\"name\":\"Sub Classing A WPF Application\u2019s WndProc | 42Gears\",\"isPartOf\":{\"@id\":\"https:\/\/www.42gears.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.42gears.com\/blog\/sub-classing-a-wpf-applications-wndproc\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.42gears.com\/blog\/sub-classing-a-wpf-applications-wndproc\/#primaryimage\"},\"thumbnailUrl\":\"http:\/\/live-42gears-site.pantheonsite.io\/wp-content\/uploads\/2013\/11\/casestudy_nt1.png\",\"datePublished\":\"2013-11-12T08:27:53+00:00\",\"dateModified\":\"2023-01-13T06:02:23+00:00\",\"description\":\"42Gears\u2019 blog has everything you need to future-proof your business. Find out how he introduction of Windows Presentation Foundation (WPF) benefits end users.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.42gears.com\/blog\/sub-classing-a-wpf-applications-wndproc\/#breadcrumb\"},\"inLanguage\":\"es-ES\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.42gears.com\/blog\/sub-classing-a-wpf-applications-wndproc\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es-ES\",\"@id\":\"https:\/\/www.42gears.com\/blog\/sub-classing-a-wpf-applications-wndproc\/#primaryimage\",\"url\":\"http:\/\/live-42gears-site.pantheonsite.io\/wp-content\/uploads\/2013\/11\/casestudy_nt1.png\",\"contentUrl\":\"http:\/\/live-42gears-site.pantheonsite.io\/wp-content\/uploads\/2013\/11\/casestudy_nt1.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.42gears.com\/blog\/sub-classing-a-wpf-applications-wndproc\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.42gears.com\/es\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Sub Classing a WPF Application\u2019s WndProc\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.42gears.com\/#website\",\"url\":\"https:\/\/www.42gears.com\/\",\"name\":\"42Gears Mobility Systems\",\"description\":\"Mobile Device Management (MDM), Mobile Security &amp; Mobile Device Lockdown\",\"publisher\":{\"@id\":\"https:\/\/www.42gears.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.42gears.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es-ES\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.42gears.com\/#organization\",\"name\":\"MDM - 42Gears\",\"url\":\"https:\/\/www.42gears.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es-ES\",\"@id\":\"https:\/\/www.42gears.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.42gears.com\/wp-content\/uploads\/2018\/12\/Featured-Image-42Gears-logo.png\",\"contentUrl\":\"https:\/\/www.42gears.com\/wp-content\/uploads\/2018\/12\/Featured-Image-42Gears-logo.png\",\"width\":499,\"height\":330,\"caption\":\"MDM - 42Gears\"},\"image\":{\"@id\":\"https:\/\/www.42gears.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/42gears\",\"https:\/\/x.com\/42Gears\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.42gears.com\/#\/schema\/person\/28a14f2c32de4a7903ac672579a88a2d\",\"name\":\"42Gears Team\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es-ES\",\"@id\":\"https:\/\/www.42gears.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/7d257fb658a429b8607872336eac3833a8314ca3ca67d72c90ceeddc7700c42e?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/7d257fb658a429b8607872336eac3833a8314ca3ca67d72c90ceeddc7700c42e?s=96&d=mm&r=g\",\"caption\":\"42Gears Team\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Sub Classing A WPF Application\u2019s WndProc | 42Gears","description":"42Gears\u2019 blog has everything you need to future-proof your business. Find out how he introduction of Windows Presentation Foundation (WPF) benefits end users.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.42gears.com\/blog\/sub-classing-a-wpf-applications-wndproc\/","og_locale":"es_ES","og_type":"article","og_title":"Sub Classing a WPF Application\u2019s WndProc","og_description":"42Gears\u2019 blog has everything you need to future-proof your business. Find out how he introduction of Windows Presentation Foundation (WPF) benefits end users.","og_url":"https:\/\/www.42gears.com\/blog\/sub-classing-a-wpf-applications-wndproc\/","og_site_name":"42Gears Mobility Systems","article_publisher":"https:\/\/www.facebook.com\/42gears","article_published_time":"2013-11-12T08:27:53+00:00","article_modified_time":"2023-01-13T06:02:23+00:00","og_image":[{"url":"http:\/\/live-42gears-site.pantheonsite.io\/wp-content\/uploads\/2013\/11\/casestudy_nt1.png","type":"","width":"","height":""}],"author":"42Gears Team","twitter_card":"summary_large_image","twitter_creator":"@42Gears","twitter_site":"@42Gears","twitter_misc":{"Written by":"42Gears Team","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.42gears.com\/blog\/sub-classing-a-wpf-applications-wndproc\/#article","isPartOf":{"@id":"https:\/\/www.42gears.com\/blog\/sub-classing-a-wpf-applications-wndproc\/"},"author":{"name":"42Gears Team","@id":"https:\/\/www.42gears.com\/#\/schema\/person\/28a14f2c32de4a7903ac672579a88a2d"},"headline":"Sub Classing a WPF Application\u2019s WndProc","datePublished":"2013-11-12T08:27:53+00:00","dateModified":"2023-01-13T06:02:23+00:00","mainEntityOfPage":{"@id":"https:\/\/www.42gears.com\/blog\/sub-classing-a-wpf-applications-wndproc\/"},"wordCount":271,"commentCount":0,"publisher":{"@id":"https:\/\/www.42gears.com\/#organization"},"image":{"@id":"https:\/\/www.42gears.com\/blog\/sub-classing-a-wpf-applications-wndproc\/#primaryimage"},"thumbnailUrl":"http:\/\/live-42gears-site.pantheonsite.io\/wp-content\/uploads\/2013\/11\/casestudy_nt1.png","keywords":["general","windows"],"articleSection":["Development","General","Windows 7","Windows 8","Windows Mobile","Windows Phone 7"],"inLanguage":"es-ES","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.42gears.com\/blog\/sub-classing-a-wpf-applications-wndproc\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.42gears.com\/blog\/sub-classing-a-wpf-applications-wndproc\/","url":"https:\/\/www.42gears.com\/blog\/sub-classing-a-wpf-applications-wndproc\/","name":"Sub Classing A WPF Application\u2019s WndProc | 42Gears","isPartOf":{"@id":"https:\/\/www.42gears.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.42gears.com\/blog\/sub-classing-a-wpf-applications-wndproc\/#primaryimage"},"image":{"@id":"https:\/\/www.42gears.com\/blog\/sub-classing-a-wpf-applications-wndproc\/#primaryimage"},"thumbnailUrl":"http:\/\/live-42gears-site.pantheonsite.io\/wp-content\/uploads\/2013\/11\/casestudy_nt1.png","datePublished":"2013-11-12T08:27:53+00:00","dateModified":"2023-01-13T06:02:23+00:00","description":"42Gears\u2019 blog has everything you need to future-proof your business. Find out how he introduction of Windows Presentation Foundation (WPF) benefits end users.","breadcrumb":{"@id":"https:\/\/www.42gears.com\/blog\/sub-classing-a-wpf-applications-wndproc\/#breadcrumb"},"inLanguage":"es-ES","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.42gears.com\/blog\/sub-classing-a-wpf-applications-wndproc\/"]}]},{"@type":"ImageObject","inLanguage":"es-ES","@id":"https:\/\/www.42gears.com\/blog\/sub-classing-a-wpf-applications-wndproc\/#primaryimage","url":"http:\/\/live-42gears-site.pantheonsite.io\/wp-content\/uploads\/2013\/11\/casestudy_nt1.png","contentUrl":"http:\/\/live-42gears-site.pantheonsite.io\/wp-content\/uploads\/2013\/11\/casestudy_nt1.png"},{"@type":"BreadcrumbList","@id":"https:\/\/www.42gears.com\/blog\/sub-classing-a-wpf-applications-wndproc\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.42gears.com\/es\/"},{"@type":"ListItem","position":2,"name":"Sub Classing a WPF Application\u2019s WndProc"}]},{"@type":"WebSite","@id":"https:\/\/www.42gears.com\/#website","url":"https:\/\/www.42gears.com\/","name":"42Gears Mobility Systems","description":"Mobile Device Management (MDM), Mobile Security &amp; Mobile Device Lockdown","publisher":{"@id":"https:\/\/www.42gears.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.42gears.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es-ES"},{"@type":"Organization","@id":"https:\/\/www.42gears.com\/#organization","name":"MDM - 42Gears","url":"https:\/\/www.42gears.com\/","logo":{"@type":"ImageObject","inLanguage":"es-ES","@id":"https:\/\/www.42gears.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.42gears.com\/wp-content\/uploads\/2018\/12\/Featured-Image-42Gears-logo.png","contentUrl":"https:\/\/www.42gears.com\/wp-content\/uploads\/2018\/12\/Featured-Image-42Gears-logo.png","width":499,"height":330,"caption":"MDM - 42Gears"},"image":{"@id":"https:\/\/www.42gears.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/42gears","https:\/\/x.com\/42Gears"]},{"@type":"Person","@id":"https:\/\/www.42gears.com\/#\/schema\/person\/28a14f2c32de4a7903ac672579a88a2d","name":"42Gears Team","image":{"@type":"ImageObject","inLanguage":"es-ES","@id":"https:\/\/www.42gears.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/7d257fb658a429b8607872336eac3833a8314ca3ca67d72c90ceeddc7700c42e?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/7d257fb658a429b8607872336eac3833a8314ca3ca67d72c90ceeddc7700c42e?s=96&d=mm&r=g","caption":"42Gears Team"}}]}},"author_meta":{"ID":"7","user_nicename":"42gears","user_email":"42gears@gmail.com","user_registered":"2015-07-15 04:55:37","display_name":"42Gears Team","first_name":"42Gears","last_name":"Team"},"_links":{"self":[{"href":"https:\/\/www.42gears.com\/es\/wp-json\/wp\/v2\/posts\/3671","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.42gears.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.42gears.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.42gears.com\/es\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/www.42gears.com\/es\/wp-json\/wp\/v2\/comments?post=3671"}],"version-history":[{"count":4,"href":"https:\/\/www.42gears.com\/es\/wp-json\/wp\/v2\/posts\/3671\/revisions"}],"predecessor-version":[{"id":81331,"href":"https:\/\/www.42gears.com\/es\/wp-json\/wp\/v2\/posts\/3671\/revisions\/81331"}],"wp:attachment":[{"href":"https:\/\/www.42gears.com\/es\/wp-json\/wp\/v2\/media?parent=3671"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.42gears.com\/es\/wp-json\/wp\/v2\/categories?post=3671"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.42gears.com\/es\/wp-json\/wp\/v2\/tags?post=3671"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}