首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在WindowsC++/CLI中获取应用程序可执行文件名?

在Windows C++/CLI中获取应用程序可执行文件名的方法如下:

  1. 使用GetModuleFileName函数:
代码语言:c++
复制
#include<windows.h>
#include<iostream>

using namespace System;

int main()
{
    // 获取可执行文件名的缓冲区大小
    DWORD dwSize = GetModuleFileName(NULL, NULL, 0);

    // 分配缓冲区
    TCHAR* szFileName = new TCHAR[dwSize];

    // 获取可执行文件名
    GetModuleFileName(NULL, szFileName, dwSize);

    // 输出可执行文件名
    std::wcout << L"可执行文件名:" << szFileName<< std::endl;

    // 释放缓冲区
    delete[] szFileName;

    return 0;
}
  1. 使用ApplicationDeployment类:
代码语言:c++
复制
#include<windows.h>
#include<iostream>
#include <vcclr.h>

using namespace System;
using namespace System::Deployment;
using namespace System::Windows::Forms;

int main()
{
    // 获取可执行文件名
    String^ exeName = ApplicationDeployment::CurrentDeployment->UpdatedApplicationFullName;

    // 输出可执行文件名
    std::wcout << L"可执行文件名:" << exeName<< std::endl;

    return 0;
}

这两种方法都可以获取到应用程序的可执行文件名。第一种方法使用了Windows API中的GetModuleFileName函数,第二种方法使用了.NET框架中的ApplicationDeployment类。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

何在 Go 函数获取调用者的函数名、文件名、行号...

背景 我们在应用程序的代码添加业务日志的时候,不论是什么级别的日志,除了我们主动传给 Logger 让它记录的信息外,这行日志是由哪个函数打印的、所在的位置也是非常重要的信息,不然排查问题的时候很有可能就犹如大海捞针...//获取的是 CallerA函数的调用者的调用栈 pc1, file1, lineNo1, ok1 := runtime.Caller(1) } 函数的返回值为调用栈标识符、带路径的完整文件名...、该调用在文件的行号。...获取调用者的函数名 runtime.Caller 返回值第一个返回值是一个调用栈标识,通过它我们能拿到调用栈的函数信息 *runtime.Func,再进一步获取到调用者的函数名字,这里面会用到的函数和方法如下...总结 今天介绍了通过 runtime.Caller 回溯调用栈获取调用者的信息的方法,虽然强大,不过频繁获取这个信息也是会对程序性能有影响。

6.5K20

何在CoreOS集群上使用CloudSlang清理Docker环境

cslang,其中包含CloudSlang CLI文件。该cslang/bin文件夹包含一个名为cslang的文件,用于启动CLI。cslang/lib包含应用程序的必要依赖项。...拥有密钥对后,您需要将公钥添加到CoreOS集群的每台计算机上。 首先,获取CloudSlang服务器上的公钥。...cd ~/cslang/cslang/bin/ 运行调用的可执行文件cslang以启动CLI。 ./cslang 片刻之后,您将看到CloudSlang欢迎屏幕。...当流程正在运行时,CLI将显示已执行的任务名称。流程完成后,CLI会输出一些有用的信息,流量输出和流量结果。...结论 现在,所有未使用的Docker镜像都会在CoreOS集群删除! 在本教程,您已经了解了如何在Ubuntu计算机上运行CloudSlang以及如何使用CloudSlang CLI来触发流。

1.1K00
  • C#获取根目录的方法集合

    用于App_Data获取      方法2、Server.MapPath("") 或者Server.MapPath("~/");//返回与Web服务器上的指定的虚拟路径相对的物理文件路径      方法...();//获取或设置当前工作目录的完全限定路径      2、Application.StartupPath.ToString();//获取启动了应用程序可执行文件的路径,不包括可执行文件的名称     ...其中:以下两个方法可以获取执行文件名称      1、Process.GetCurrentProcess().MainModule.FileName;//可获得当前执行的exe的文件名。     ...2、Application.ExecutablePath;//获取启动了应用程序可执行文件的路径,包括可执行文件的名称 获取.net的根目录的方法 方法1:System.Web.HttpContext.Current.Request.PhysicalApplicationPath..., C:\Inetpub\wwwroot\。

    1.8K30

    何在 Windows 上安装 Angular:Angular CLI、Node.js 和构建工具指南

    Angular CLI, Node.js, and Build Tools,作者为Ahmed Bouchefra 在本教程,我们将学习如何在 Windows 安装 Angular CLI 并使用它来创建...什么是 Angular CLI? Angular CLI 是用于初始化和使用 Angular 项目的官方工具。它使您免于复杂配置和构建工具( TypeScript、Webpack 等)的麻烦。...只需访问下载页面并获取 Windows 的二进制文件,然后按照安装向导操作即可。...让我们首先检查已安装的 CLI 的版本: $ ng version 如下图所示: 您可能需要运行的第二个命令是 help 命令,用于获取完整的使用帮助: $ ng help CLI 提供以下命令...结论 在本教程,我们了解了如何在 Windows 计算机上安装 Angular CLI,并使用它从头开始初始化一个新的 Angular 项目。

    47100

    Linux及文件系统基本介绍

    Linux的核心在于其内核,内核是应用程序和硬件程序联系的纽带。...在Desktop下面,打开文件管理图形应用程序: ?...同样的,Linux的其它常用系统管理工具,: 磁盘管理 网络管理 进程管理 软件管理 都有对应的桌面程序和CLI程序来提供管理,后续会详细展开,在此不一一赘述。...tmp 临时文件目录,系统重启后会自动清空 proc 进程文件系统的根目录,是一个虚拟文件系统,通过对此目录的文件读取可以获取系统运行态的很多信息:CPU、内存、运行时间等等 关于根目录下的其它目录及其子目录的详细介绍及目录之间的区别...7.2   其它描述信息 文件大小 创建时间 文件名称 这些信息的用途正如其名称一样直观和明确,在此不再赘述。

    1.6K71

    SpringBoot快速开发利器:CLI 属实真牛逼!

    Spring boot CLI应用程序使用groovy。我们在应用程序创建groovy文件,为此我们不需要提供groovy的任何JAR依赖。...Spring boot提供spring run命令来运行应用程序,spring test命令来运行spring测试应用程序。 我们可以使用spring boot命令行创建可执行的JAR文件。...Group id 和 version将从spring boot的默认依赖元数据获取。 现在找到这个例子中使用的groovy和HTML文件。...具体请查看链接的Deduced “grab” Dependencies部分 Spring Boot CLI 测试应用程序 Spring boot CLI提供了test命令,我们可以用它来测试我们的spring...spring-app.jar : 这是可执行的JAR。 spring-app.jar.original : 这是原JAR。 可执行的jar文件的运行方式如下。

    1.1K20

    dotnet publish

    若要准备用于部署的应用程序,这是唯一正式受支持的方法。 根据项目指定的部署类型,托管系统不一定已在其上安装 .NET 共享运行时。 有关详细信息,请参阅使用 .NET CLI 发布 .NET 应用。...隐式还原 无需运行 dotnet restore,因为它由所有需要还原的命令隐式运行, dotnet new、dotnet build、dotnet run、dotnet test、dotnet publish...若要指定包含扩展名的路径和文件名,请设置 PublishProfileFullPath 属性,而不是 PublishProfile 属性。...建议在发布配置文件而不是在命令行中指定 PublishReadyToRun。 PublishSingleFile 将应用打包到特定于平台的单个文件可执行文件。...建议在项目文件而不是在命令行中指定此选项。 PublishTrimmed 在发布自包含的可执行文件时,剪裁未使用的库以减小应用的部署大小。 有关详细信息,请参阅剪裁自包含部署和可执行文件。

    2.2K10

    LoadLibrary:一款能够允许Linux程序从DLL文件中加载或调用函数的工具

    工作机制 项目源码的peloader目录包含一个来自ndiswrapper的自定义PE/COFF加载器,这个库可以完成重定位和导入操作,并提供了一个API(dlopen)。...负责扫描和分析的MsMpEng核心组件名叫mpengine,但mpengine本身也是一个庞大而复杂的攻击面,这个组件由大量处理器、可执行文件、多种架构的系统模拟器、以及多语言解释器所组成的,但这些代码通通都可以被远程攻击者访问到...Product Version Number'Product Version Number : 1.1.13701.0 运行 主mpengine加载器名叫mpclient,它可以接受文件名作为扫描参数...0xffffcc64,envp=0xffffcc6c) at mpclient.c:156 156 __debugbreak(); (gdb) 如果你输入了gdb所显示的命令,你将会获取到下列符号文件...Winelib可以将WindowsC++项目移植到Linux平台中,Wine可以允许用户在Linux平台上运行Windows应用程序

    4.1K80

    Redis 学习 | Redis 初识与安装

    Redis全称为:Remote Dictionary Server(远程数据服务),该软件使用C语言编写,Redis是一个key-value存储系统,它支持丰富的数据类型,:string、list、set...以设置和获取一个256字节字符串为例,它的读取速度可高达110000次/s,写速度高达81000次/s。...Redis跟memcache不同的是,储存在Redis的数据是持久化的,断电或重启后,数据也不会丢失。...Redis 可执行文件说明 redis-server - Redis 服务器 redis-cli - Redis 命令行客户端 redis-benchmark - Redis 性能测试工具 redis-check-aof...-h ip -p port ping 启动方式比较 •生产环境选择配置启动•单机多实例配置文件可以用端口区分 Redis 客户端连接 redis-cli -h ip -p port ping # redis-cli

    47910

    推荐一个 Spring Boot 快速开发利器

    Spring boot CLI应用程序使用groovy。我们在应用程序创建groovy文件,为此我们不需要提供groovy的任何JAR依赖。...Spring boot提供spring run命令来运行应用程序,spring test命令来运行spring测试应用程序。 7. 我们可以使用spring boot命令行创建可执行的JAR文件。...} } 当我们使用Spring boot CLI和Groovy时,我们可以用最少的代码运行我们的应用程序。在我们的代码,我们将得到以下结果。 1. 默认的导入语句。...Group id 和 version将从spring boot的默认依赖元数据获取。现在找到这个例子中使用的groovy和HTML文件。...具体请查看链接的Deduced “grab” Dependencies部分 Spring Boot CLI 测试应用程序 Spring boot CLI提供了test命令,我们可以用它来测试我们的spring

    60120

    linux常见面试题

    13)什么是CLICLI是命令行界面的缩写。此接口允许用户键入声明性命令以指示计算机执行操作。CLI提供更大的灵活性。但是,已经习惯使用GUI的其他用户发现很难记住包含随附属性的命令。...15)如何在发出命令时打开命令提示符? 要打开默认shell(可以找到命令提示符的位置),请按Ctrl-Alt-F1。这将提供命令行界面(CLI),你可以根据需要从中运行命令。...在命令shell,使用“concatenate”命令:cat / proc / meminfo获取内存使用信息。你应该看到一行开始像Mem:64655360等。...60)解释如何在Ubuntu启用root日志记录?...62)解释如何在Linux卸载库? 要在Linux卸载库,可以使用命令 sudo apt-get remove library_name

    2.5K10

    【Rust日报】2024-03-06 Rust 版本的 PickleDB

    dependencies] pickledb = "0.5.1" 例子 目前 PickleDB 附带了两个示例: Hello World,展示了 PickleDB 的基本用法:创建新的数据库、从文件加载数据库、获取.../设置不同类型的键值对等等; List展示了如何在 PickleDB 中使用列表:创建新列表、从列表添加/删除项目、从列表检索项目、删除列表等。...该项目的目的是提供编写 Tokio 应用程序的更大示例。 免责声明请不要在生产中使用 mini-redis。...运行 该存储库提供服务器、客户端库和一些用于与服务器交互的客户端可执行文件。...服务器运行时,将进行以下工作: cargo run --bin mini-redis-cli set foo bar cargo run --bin mini-redis-cli get foo mini-redis

    14710

    超详细的Spring Boot教程,搞定面试官!

    7.1、从IDE运行 7.2、作为打包应用程序运行 7.3、使用Maven插件 7.4、使用Gradle插件 7.5、热交换 8、开发人员工具 8.1、属性默认值 8.2、自动重启 (1)记录条件评估的更改...2.2、访问命令行属性 2.3、应用程序属性文件 2.4、配置文件特定的属性 2.5、属性的占位符 2.6、使用YAML而不是属性 (1)正在加载YAML (2)在Spring环境中将YAML作为属性公开...1、安装CLI 2、使用CLI 2.1、使用CLI运行应用程序 (1)推导出“抢”依赖 (2)推导出“抢”坐标 (3)默认导入语句 (4)自动主要方法 (5)定制依赖管理 2.2、有多个源文件的应用程序...2.3、打包你的应用程序 2.4、初始化新项目 2.5、使用嵌入式外壳 2.6、向CLI添加扩展 3、使用Groovy Beans DSL开发应用程序 4、使用CLI配置CLI settings.xml...Boot应用程序作为依赖项 12.6、当可执行jar运行时提取特定的库 12.7、用排除项创建一个不可执行的JAR 12.8、远程调试Maven启动的Spring Boot应用程序 12.9、在不使用的情况下从

    6.9K20

    Docker学习路线11:Docker命令行

    Docker Compose Docker Compose 是一个 CLI 工具,用于使用 YAML 文件定义和管理多容器 Docker 应用程序。...一旦熟悉其命令和功能,您将能够轻松开发、维护和部署使用 Docker 的应用程序。 Docker镜像 Docker镜像是一种轻量级、独立、可执行的软件包,其包含了运行应用程序所需的所有组件。...docker pull:从注册表(Docker Hub)将镜像拉到本地系统。 docker push:将镜像推送到仓库。...在您的开发过程中使用Docker镜像可以大大提高开发效率,减少开发过程的问题,让您能够更好地专注于应用程序的核心开发。...docker exec:在运行的容器执行命令。 docker logs:获取容器的日志,有助于调试问题。 Docker卷 Docker卷是一种用于存储Docker容器生成和使用的数据的机制。

    43100

    Linux学习1-Linux的基本命令(1)

    命令 boot //内核和启动程序,所有和启动相关的文件都保存在这里 grub //引导器相关文件 dev //设备文件 etc //系统软件的启动和配置文件,系统在启动过程需要读取的文件都在这个目录...opt //可选的应用软件包(很少使用) proc //这个目录是系统内存的映射,我们可以直接访问这个目录来获取系统信息。也就是说,这个目录 的内容不在硬盘上而是在内存里。...bin // 应用程序 game //游戏程序 include lib //应用程序的库文件 lib64 local //包含用户程序等 sbin //管理员应用程序...ls(列出文件夹的文件) -a 列出隐藏文件,文件以“.”开头的均为隐藏文件,:~/.bashrc -l 列出文件的详细信息 -R 连同子目录的内容一起列出 ls -l开头显示的10个字符串,...which(查看命令所在的位置) which ls //查看ls命令所在的位置 mv(移动)和cp(复制) mv file1 file2 //文件重命名,file1和file2分别是原文件名和重命名的文件名

    77810
    领券