{"id":5440,"date":"2016-08-25T14:39:45","date_gmt":"2016-08-25T14:39:45","guid":{"rendered":"http:\/\/anthroponaute.fr\/blog-informatique\/?p=5440"},"modified":"2016-08-28T16:23:59","modified_gmt":"2016-08-28T16:23:59","slug":"ajouter-un-fichier-ressource-win32-dans-votre-executable","status":"publish","type":"post","link":"https:\/\/www.la-porte-des-nebuleuses.net\/blog-informatique\/?p=5440","title":{"rendered":"Ajouter un fichier ressource Win32 dans votre ex\u00e9cutable"},"content":{"rendered":"<p><a href=\"https:\/\/anthropoya.cluster014.ovh.net\/blog-informatique\/wp-content\/uploads\/2016\/08\/file.png\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone  wp-image-5442\" src=\"https:\/\/anthropoya.cluster014.ovh.net\/blog-informatique\/wp-content\/uploads\/2016\/08\/file.png\" alt=\"file\" width=\"202\" height=\"202\" srcset=\"https:\/\/www.la-porte-des-nebuleuses.net\/blog-informatique\/wp-content\/uploads\/2016\/08\/file.png 512w, https:\/\/www.la-porte-des-nebuleuses.net\/blog-informatique\/wp-content\/uploads\/2016\/08\/file-150x150.png 150w, https:\/\/www.la-porte-des-nebuleuses.net\/blog-informatique\/wp-content\/uploads\/2016\/08\/file-300x300.png 300w\" sizes=\"(max-width: 202px) 100vw, 202px\" \/><\/a><\/p>\n<p><strong>Intro :<\/strong><\/p>\n<p>Dans un ex\u00e9cutable Windows, on peut <strong>stocker plusieurs fichiers<\/strong>. Ces fichiers en question s&rsquo;appellent des \u00ab\u00a0<strong>ressources <\/strong>\u00bb.<\/p>\n<p><strong>Pr\u00e9requis :<\/strong><\/p>\n<p>&#8211; Savoir lire du <em>C++<\/em><\/p>\n<p>&#8211; Savoir se servir de <em>Visual Studio C++<\/em><\/p>\n<p><strong>Explications :<\/strong><\/p>\n<p>Le fichier \u00e0 int\u00e9grer peut-\u00eatre de n&rsquo;importe quel format !<\/p>\n<p>On d\u00e9clare ainsi dans le fichier de d\u00e9claration de ressource, la ressource en question, avec le patron de sch\u00e9ma suivant :<\/p>\n<pre class=\"brush: cpp; title: ; notranslate\" title=\"\">\r\nnameID typeID filename\r\n<\/pre>\n<p>Ce contenu doit \u00eatre mis dans un fichier <strong><em>ressource.h<\/em><\/strong><code><\/code><\/p>\n<p>Le nom du fichier \u00ab\u00a0<em>filename<\/em>\u00a0\u00bb sp\u00e9cifie le nom d&rsquo;un fichier contenant des donn\u00e9es binaires de la ressource. Le contenu du fichier est int\u00e9gr\u00e9 dans la ressource sp\u00e9cifi\u00e9e. A noter que les donn\u00e9es doivent \u00eatre proprement align\u00e9es pour r\u00e9cup\u00e9ration sur une autre architecture.<\/p>\n<p>Les donn\u00e9es peuvent \u00eatre d\u00e9finies directement entre les accolades de la mani\u00e8re suivante :<\/p>\n<pre class=\"brush: cpp; title: ; notranslate\" title=\"\">\r\nnameID typeID { raw-data }\r\n\r\n18 MYRES2\r\n{\r\n\u00a0\u00a0 &quot;Here is an ANSI string&#92;&#48;&quot;,\u00a0\u00a0\u00a0 \/\/ explicitly null-terminated\r\n}\r\n<\/pre>\n<p><strong><br \/>\nParam\u00e8tres :<\/strong><\/p>\n<p style=\"padding-left: 30px;\"><em>nameID : <\/em>un unique nom ou une valeur de 16 bits en tout (unsigned integer) qui identifie la ressource<em><br \/>\n<\/em><\/p>\n<p style=\"padding-left: 30px;\"><em>typeID : <\/em>un unique nom (cha\u00eene de caract\u00e8res) ou un entier de 16 bits (unsigned integer) qui identifie le type de la ressource. Si un nombre est sp\u00e9cifi\u00e9, il doit \u00eatre sup\u00e9rieur \u00e0 255, les autres nombres sont r\u00e9serv\u00e9s<em><br \/>\n<\/em><\/p>\n<p style=\"padding-left: 30px;\"><em>filename : <\/em>nom (cha\u00eene de caract\u00e8res) du fichier qui contient les donn\u00e9es de la ressource. Ce nom doit correspondre \u00e0 un fichier valide et existant, le nom du fichier doit \u00eatre un chemin complet s&rsquo;il n&rsquo;est pas dans le r\u00e9pertoire courant<em><br \/>\n<\/em><\/p>\n<p style=\"padding-left: 30px;\"><em>raw-data :<\/em> donn\u00e9es brutes consistant en plusieurs entiers ou cha\u00eenes de caract\u00e8res<\/p>\n<p>&nbsp;<\/p>\n<p><strong>R\u00e9sum\u00e9 :<\/strong><\/p>\n<p>Nous avons pr\u00e9sent\u00e9e une m\u00e9thode permettant d&rsquo;int\u00e9grer des fichiers au sein de votre application C++. Il est ais\u00e9 de r\u00e9cup\u00e9rer leur contenu avec la fonction pr\u00e9sent\u00e9e ci-dessus.<\/p>\n<p><strong>R\u00e9f\u00e9rences :<\/strong><\/p>\n<p>&#8211; http:\/\/stackoverflow.com\/questions\/2933295\/embed-text-file-in-a-resource-in-a-native-windows-application<\/p>\n<p>&#8211; https:\/\/msdn.microsoft.com\/en-us\/library\/aa381054(VS.85).aspx<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Intro : Dans un ex\u00e9cutable Windows, on peut stocker plusieurs fichiers. Ces fichiers en question s&rsquo;appellent des \u00ab\u00a0ressources \u00bb. Pr\u00e9requis : &#8211; Savoir lire du C++ &#8211; Savoir se servir de Visual Studio C++ Explications : Le fichier \u00e0 int\u00e9grer peut-\u00eatre de n&rsquo;importe quel format ! On d\u00e9clare ainsi dans le fichier de d\u00e9claration de [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[20],"tags":[],"_links":{"self":[{"href":"https:\/\/www.la-porte-des-nebuleuses.net\/blog-informatique\/index.php?rest_route=\/wp\/v2\/posts\/5440"}],"collection":[{"href":"https:\/\/www.la-porte-des-nebuleuses.net\/blog-informatique\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.la-porte-des-nebuleuses.net\/blog-informatique\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.la-porte-des-nebuleuses.net\/blog-informatique\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.la-porte-des-nebuleuses.net\/blog-informatique\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=5440"}],"version-history":[{"count":34,"href":"https:\/\/www.la-porte-des-nebuleuses.net\/blog-informatique\/index.php?rest_route=\/wp\/v2\/posts\/5440\/revisions"}],"predecessor-version":[{"id":5521,"href":"https:\/\/www.la-porte-des-nebuleuses.net\/blog-informatique\/index.php?rest_route=\/wp\/v2\/posts\/5440\/revisions\/5521"}],"wp:attachment":[{"href":"https:\/\/www.la-porte-des-nebuleuses.net\/blog-informatique\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=5440"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.la-porte-des-nebuleuses.net\/blog-informatique\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=5440"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.la-porte-des-nebuleuses.net\/blog-informatique\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=5440"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}