{"id":23223,"date":"2024-03-16T00:59:32","date_gmt":"2024-03-16T00:59:32","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/loadlibrary-method-loads-and-runs-dll-library\/"},"modified":"2024-03-22T00:45:13","modified_gmt":"2024-03-22T00:45:13","slug":"loadlibrary-method-loads-and-runs-dll-library","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/loadlibrary-method-loads-and-runs-dll-library\/","title":{"rendered":"LoadLibrary method loads and runs DLL library."},"content":{"rendered":"<p>The LoadLibrary function is a function in the Windows operating system that is used to load dynamic link libraries (DLLs) at runtime. Its function prototype is as follows:<\/p>\n<p>Load a library module and return a handle to it.<\/p>\n<p>The parameter lpFileName specifies the file name of the DLL library to be loaded, which can be an absolute or relative path. The return value is a module handle (HMODULE) used for further operations on the library.<\/p>\n<p>Here is a simple example code demonstrating how to use the LoadLibrary function to load and run a DLL library.<\/p>\n<pre class=\"post-pre\"><code><span class=\"hljs-meta\">#<span class=\"hljs-keyword\">include<\/span> <span class=\"hljs-string\">&lt;windows.h&gt;<\/span><\/span>\r\n\r\n<span class=\"hljs-function\"><span class=\"hljs-type\">int<\/span> <span class=\"hljs-title\">main<\/span><span class=\"hljs-params\">()<\/span>\r\n<\/span>{\r\n    HMODULE hDll = <span class=\"hljs-built_in\">LoadLibrary<\/span>(<span class=\"hljs-string\">L\"mydll.dll\"<\/span>);\r\n\r\n    <span class=\"hljs-keyword\">if<\/span> (hDll != <span class=\"hljs-literal\">NULL<\/span>)\r\n    {\r\n        <span class=\"hljs-comment\">\/\/ DLL\u52a0\u8f7d\u6210\u529f\uff0c\u7ee7\u7eed\u6267\u884c\u5176\u4ed6\u64cd\u4f5c<\/span>\r\n        <span class=\"hljs-comment\">\/\/ ...<\/span>\r\n\r\n        <span class=\"hljs-comment\">\/\/ \u5378\u8f7dDLL<\/span>\r\n        <span class=\"hljs-built_in\">FreeLibrary<\/span>(hDll);\r\n    }\r\n    <span class=\"hljs-keyword\">else<\/span>\r\n    {\r\n        <span class=\"hljs-comment\">\/\/ DLL\u52a0\u8f7d\u5931\u8d25\uff0c\u5904\u7406\u9519\u8bef<\/span>\r\n    }\r\n\r\n    <span class=\"hljs-keyword\">return<\/span> <span class=\"hljs-number\">0<\/span>;\r\n}\r\n<\/code><\/pre>\n<p>In this example, the LoadLibrary function is first called to load a DLL library named &#8220;mydll.dll&#8221;. If the loading is successful, LoadLibrary will return a non-empty module handle. Then, through this module handle, the GetProcAddress function can be used to obtain the addresses of exported functions within the DLL and call them.<\/p>\n<p>Finally, unload the DLL library by calling the FreeLibrary function.<\/p>\n<p>It is important to note that when using the LoadLibrary function to load a DLL library, you need to make sure that the DLL library file is in the search path of the executable file, or specify the correct path. Otherwise, the LoadLibrary function will return NULL, indicating a failed load.<\/p>\n<p>Additionally, the DLL libraries loaded using the LoadLibrary function need to be unloaded by calling the FreeLibrary function before the program ends to release the related resources.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The LoadLibrary function is a function in the Windows operating system that is used to load dynamic link libraries (DLLs) at runtime. Its function prototype is as follows: Load a library module and return a handle to it. The parameter lpFileName specifies the file name of the DLL library to be loaded, which can be [&hellip;]<\/p>\n","protected":false},"author":12,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[],"class_list":["post-23223","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>LoadLibrary method loads and runs DLL library. - Blog - Silicon Cloud<\/title>\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.silicloud.com\/blog\/loadlibrary-method-loads-and-runs-dll-library\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"LoadLibrary method loads and runs DLL library.\" \/>\n<meta property=\"og:description\" content=\"The LoadLibrary function is a function in the Windows operating system that is used to load dynamic link libraries (DLLs) at runtime. Its function prototype is as follows: Load a library module and return a handle to it. The parameter lpFileName specifies the file name of the DLL library to be loaded, which can be [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/loadlibrary-method-loads-and-runs-dll-library\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-16T00:59:32+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-03-22T00:45:13+00:00\" \/>\n<meta name=\"author\" content=\"Liam\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:site\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Liam\" \/>\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.silicloud.com\/blog\/loadlibrary-method-loads-and-runs-dll-library\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/loadlibrary-method-loads-and-runs-dll-library\/\"},\"author\":{\"name\":\"Liam\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/23786905eb7b377f45ddb01c17da7671\"},\"headline\":\"LoadLibrary method loads and runs DLL library.\",\"datePublished\":\"2024-03-16T00:59:32+00:00\",\"dateModified\":\"2024-03-22T00:45:13+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/loadlibrary-method-loads-and-runs-dll-library\/\"},\"wordCount\":243,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/loadlibrary-method-loads-and-runs-dll-library\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/loadlibrary-method-loads-and-runs-dll-library\/\",\"name\":\"LoadLibrary method loads and runs DLL library. - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-16T00:59:32+00:00\",\"dateModified\":\"2024-03-22T00:45:13+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/loadlibrary-method-loads-and-runs-dll-library\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/loadlibrary-method-loads-and-runs-dll-library\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/loadlibrary-method-loads-and-runs-dll-library\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"LoadLibrary method loads and runs DLL library.\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"name\":\"Silicon Cloud Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\",\"name\":\"Silicon Cloud Blog\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"contentUrl\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"width\":1024,\"height\":1024,\"caption\":\"Silicon Cloud Blog\"},\"image\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\",\"https:\/\/twitter.com\/SiliCloudGlobal\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/23786905eb7b377f45ddb01c17da7671\",\"name\":\"Liam\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/8d37ed3e7f770dde8bf069ba0b4298688028c3abaacf1131742fc1352d174ebd?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/8d37ed3e7f770dde8bf069ba0b4298688028c3abaacf1131742fc1352d174ebd?s=96&d=mm&r=g\",\"caption\":\"Liam\"},\"sameAs\":[\"http:\/\/Wilson\"],\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/liamwilson\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"LoadLibrary method loads and runs DLL library. - Blog - Silicon Cloud","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.silicloud.com\/blog\/loadlibrary-method-loads-and-runs-dll-library\/","og_locale":"en_US","og_type":"article","og_title":"LoadLibrary method loads and runs DLL library.","og_description":"The LoadLibrary function is a function in the Windows operating system that is used to load dynamic link libraries (DLLs) at runtime. Its function prototype is as follows: Load a library module and return a handle to it. The parameter lpFileName specifies the file name of the DLL library to be loaded, which can be [&hellip;]","og_url":"https:\/\/www.silicloud.com\/blog\/loadlibrary-method-loads-and-runs-dll-library\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-16T00:59:32+00:00","article_modified_time":"2024-03-22T00:45:13+00:00","author":"Liam","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Liam","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/loadlibrary-method-loads-and-runs-dll-library\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/loadlibrary-method-loads-and-runs-dll-library\/"},"author":{"name":"Liam","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/23786905eb7b377f45ddb01c17da7671"},"headline":"LoadLibrary method loads and runs DLL library.","datePublished":"2024-03-16T00:59:32+00:00","dateModified":"2024-03-22T00:45:13+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/loadlibrary-method-loads-and-runs-dll-library\/"},"wordCount":243,"commentCount":0,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/loadlibrary-method-loads-and-runs-dll-library\/","url":"https:\/\/www.silicloud.com\/blog\/loadlibrary-method-loads-and-runs-dll-library\/","name":"LoadLibrary method loads and runs DLL library. - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-16T00:59:32+00:00","dateModified":"2024-03-22T00:45:13+00:00","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/loadlibrary-method-loads-and-runs-dll-library\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/loadlibrary-method-loads-and-runs-dll-library\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/loadlibrary-method-loads-and-runs-dll-library\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"LoadLibrary method loads and runs DLL library."}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/blog\/#website","url":"https:\/\/www.silicloud.com\/blog\/","name":"Silicon Cloud Blog","description":"","publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.silicloud.com\/blog\/#organization","name":"Silicon Cloud Blog","url":"https:\/\/www.silicloud.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","contentUrl":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","width":1024,"height":1024,"caption":"Silicon Cloud Blog"},"image":{"@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/SiliCloudGlobal\/","https:\/\/twitter.com\/SiliCloudGlobal"]},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/23786905eb7b377f45ddb01c17da7671","name":"Liam","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/8d37ed3e7f770dde8bf069ba0b4298688028c3abaacf1131742fc1352d174ebd?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/8d37ed3e7f770dde8bf069ba0b4298688028c3abaacf1131742fc1352d174ebd?s=96&d=mm&r=g","caption":"Liam"},"sameAs":["http:\/\/Wilson"],"url":"https:\/\/www.silicloud.com\/blog\/author\/liamwilson\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/23223","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/users\/12"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=23223"}],"version-history":[{"count":1,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/23223\/revisions"}],"predecessor-version":[{"id":57187,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/23223\/revisions\/57187"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=23223"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=23223"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=23223"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}