原文:http://www.cnblogs.com/del/archive/2008/06/17/1223681.html

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls; type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  end; var
  Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject);
var
  buf: array[..MAX_PATH] of Char;
  hinst: HMODULE;
begin
  {获取指定模块的句柄}
  hinst := GetModuleHandle('gdi32.dll');   {获取模块的路径}
  GetModuleFileName(hinst, buf, Length(buf));
  ShowMessage(buf); {C:\WINDOWS\system32\GDI32.dll}
end; procedure TForm1.Button1Click(Sender: TObject);
var
  buf: array[..MAX_PATH] of Char;
begin
  {当 GetModuleFileName 的第一个参数为 0 或 HInstance 时, 会获取当前模块路径}
  GetModuleFileName(, buf, Length(buf));
  ShowMessage(buf);   GetModuleFileName(HInstance, buf, Length(buf));
  ShowMessage(buf);   {获取当前程序路径的常用方法}
  ShowMessage(Application.ExeName);
  ShowMessage(ParamStr());
end; end.

WinAPI: GetModuleFileName、GetModuleHandle的更多相关文章

  1. WinAPI: FindWindow、FindWindowEx - 查找窗口

    FindWindow(   lpClassName,        {窗口的类名}   lpWindowName: PChar {窗口的标题} ): HWND;              {返回窗口的 ...

  2. GlobalGetAtomName GlobalDeleteAtom 引用 WinAPI: AddAtom、DeleteAtom、FindAtom、GetAtomName、GlobalAddAtom、GlobalDeleteAtom、GlobalFindAtom、GlobalGetAtomName

    http://www.cnblogs.com/del/archive/2008/02/28/1085124.html 这是储存字符串的一组 API.通过 AddAtom 储存一个字符串, 返回一个 I ...

  3. WinAPI: GetCurrentThread、GetCurrentThreadId、GetCurrentProcess、GetCurrentProcessId

    原文:http://www.cnblogs.com/del/archive/2008/03/10/1098311.html {返回当前线程的虚拟句柄} GetCurrentThread: THandl ...

  4. WinAPI: OpenProcess、GetExitCodeProcess、TerminateProcess (测试强制关闭 OICQ)

    原文:http://www.cnblogs.com/del/archive/2008/03/10/1098502.html //声明: {返回进程的句柄} OpenProcess(   dwDesir ...

  5. [转]DllMain中不当操作导致死锁问题的分析——DllMain中要谨慎写代码(完结篇)

    在CSDN中发现这篇文章,讲解的比较详细,所以在这里备份一个.原文链接:http://blog.csdn.net/breaksoftware/article/details/8167641 DllMa ...

  6. Delphi For Android 开发笔记-附:如何Delphi中同时实现Windows、Android版的GetModuleFileName函数

    在Windows中开发DLL时,经常会需要获取当前DLL所在目录以便读取同目录下的其他文件,而目前Delphi在开发android时,其实没多大必要获取,因为整个工程只有一个so文件,而这个so文件也 ...

  7. MFC学习20160718(GetModuleFileName&&GetAppDataPath)

    1.标题栏设置 一.对话框标题栏内容为静态 直接在对话框属性“General”的“Caption”中修改. 二.对话框标题栏内容为动态生成的 在对应对话框的初始化函数OnInitDialog()中添加 ...

  8. MFC学习20160718(GetModuleFileName&&GetAppDataPath)

    1.标题栏设置 一.对话框标题栏内容为静态 直接在对话框属性“General”的“Caption”中修改. 二.对话框标题栏内容为动态生成的 在对应对话框的初始化函数OnInitDialog()中添加 ...

  9. MFC获得当前应用程序目录的GetCurrentDirectory()和GetModuleFileName()函数

    在 开发过程中经常需要获得程序当前的运行目录,这时就可以使用GetCurrentDirectory()和GetModuleFileName()函 数,GetCurrentDirectory只是返回当前 ...

随机推荐

  1. python中的try/except/else/finally语句

    与其他语言相同,在python中,try/except语句主要是用于处理程序正常执行过程中出现的一些异常情况,如语法错误(python作为脚本语言没有编译的环节,在执行过程中对语法进行检测,出错后发出 ...

  2. 用servlet进行用户名和密码校验01

    用servlet进行用户名和密码校验01 编写一个servlet进行用户名和密码校验,获取登录页面的用户名密码,并显示出来 1.工作目录结构 2.首先是一个login.html,包含非常简单的登录表单 ...

  3. 在ionic3+angular4项目中添加自定义图标

    在阿里图标库下载自己所需要的图标解压为一下目录 把iconfont.xx文件全部放到src/assets/fonts/文件夹下,可以全部替换里面的文件,但是要把之前iconfont.css文件下的文件 ...

  4. react大纲

    课程大纲: https://miaov.com/index.php/news/newsDetail/nid/263  原文件 Npm 基本使用 切换镜像, 国内的网络访问 npm 服务器可能比较慢, ...

  5. WebViewJavascriptBridge详细使用 iOS与H5交互的方案

    WebViewJavascriptBridge详细使用 源网址: https://www.cnblogs.com/jiang-xiao-yan/p/5345755.html    前言 WebView ...

  6. Junit打包测试

    在一个项目中,只写一个测试类是不可能的,我们会写出很多很多个测试类.可是这些测试类必须一个一个的执行,也是比较麻烦的事情. 鉴于此, JUnit 为我们提供了打包测试的功能,将所有需要运行的测试类集中 ...

  7. condition实现原理

    condition是对线程进行控制管理的接口,具体实现是AQS的一个内部类ConditionObject,主要功能是控制线程的启/停(这么说并不严格,还要有锁的竞争排队). condition主要方法 ...

  8. springmvc4 相关注解的详细讲解

    首先我是一个初学springmvc,抱着去加深印象的目的去整理相关springmvc4的相关注解,同时也希望给需要相关查阅的读者带来帮助. 1.@ControllerController控制器是通过服 ...

  9. RabbitMQ入门-理论

    目录 RabbitMQ简介 RabbitMQ原理简介 RabbitMQ安装 .NET Core 使用 RabbitMQ Hello World 工作队列 扇型交换机 直连交换机 主题交换机 远程过程调 ...

  10. Oracle 架构