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

如何在Windows上运行的C中获取可执行文件的路径?

在Windows上,可以使用以下方法获取可执行文件的路径:

  1. 使用GetModuleFileName函数:这个函数可以获取当前可执行文件的路径。可以通过传入NULL作为第一个参数,获取当前进程的可执行文件路径。示例代码如下:
代码语言:c
复制
#include <windows.h>
#include <stdio.h>

int main() {
    char path[MAX_PATH];
    GetModuleFileName(NULL, path, MAX_PATH);
    printf("可执行文件路径:%s\n", path);
    return 0;
}
  1. 使用GetCommandLine函数:这个函数可以获取当前进程的命令行参数,包括可执行文件的路径。可以通过解析命令行参数获取可执行文件的路径。示例代码如下:
代码语言:c
复制
#include <windows.h>
#include <stdio.h>

int main() {
    LPWSTR commandLine = GetCommandLineW();
    LPWSTR *argv;
    int argc;
    argv = CommandLineToArgvW(commandLine, &argc);
    if (argc > 0) {
        printf("可执行文件路径:%ls\n", argv[0]);
    }
    return 0;
}

以上两种方法都可以获取可执行文件的路径,具体选择哪种方法取决于你的需求和使用场景。

腾讯云相关产品和产品介绍链接地址:

请注意,以上链接仅供参考,具体选择适合自己需求的产品和服务时,请参考腾讯云官方文档和咨询相关专业人士。

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

相关·内容

何在 Python 终止 Windows 运行进程?

当深入研究Windows操作系统Python开发领域时,无疑会出现需要终止正在运行进程情况。这种终止背后动机可能涵盖多种情况,包括无响应、过度资源消耗或仅仅是停止脚本执行必要性。...在这篇综合性文章,我们将探讨各种方法来完成使用 Python 终止 Windows 运行进程任务。...值得注意是,Windows利用“taskkill”命令来终止活动进程。...我们可以利用此模块来执行“taskkill”命令并有效地终止正在运行进程。...shell=True' 参数在 Windows 命令外壳执行命令时变得不可或缺。 结论 在这次深入探索,我们阐明了使用 Python 终止 Windows 运行进程三种不同方法。

50630
  • windows 运行 podman 默认挂载相对路径是什么

    我在 windows 运行 podman 当成 docker 代替品,从网上抄了 ollama 部署命令,发现里面存在一个相对路径挂载文件夹。...我期望拿到 ollama 下载内容,需要寻找到 podman 默认挂载路径,但在网上找了一圈,可能是我关键词问题,没有找到,于是记录本文期望能帮到大家 如下面命令 podman run -d -v...ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama 使用了 -v ollama:/root/.ollama 参数将本机 ollama...文件夹挂载到容器里面的 /root/.ollama 文件夹 那默认情况下本机 ollama 文件夹是在哪?...在 podman 里面挂载相对路径是什么 在 podman 里面挂载相对路径是在 WSL 里面的 ~/.local/share/containers/storage/volumes/ 文件夹

    23910

    何在Ubuntu 14.04Docker容器运行Nginx

    你会注意到它有一个荒谬名字,nostalgic_hopper; 如果在创建容器时未指定,则会自动生成这些名称。 我们还可以看到hello-world示例容器在3分钟前运行并在3分钟前退出。...运行以下命令以获取Nginx Docker镜像: sudo docker pull nginx 这将下载容器所有必要组件。...使用docker-nginx命令删除现有容器: sudo docker rm docker-nginx 在下一步,我们将向您展示如何在分离模式下运行它。...建立链接: 为此,我们使用该-v标志将文件夹从本地machine(~/docker-nginx/html)映射到容器(/usr/share/nginx/html)相对路径。...只需添加带有相应路径第二个标志-v,即可为新Nginx容器提供从您自己配置文件运行相应链接。

    2.8K00

    何在 MSBuild 项目文件 csproj 获取绝对路径

    通常我们能够在 csproj 文件仅仅使用相对路径就完成大多数编译任务。但是有些外部命令执行需要用到绝对路径,或者对此外部工具来说,相对路径具有不同含义。...这个时候,就需要将相对路径在 csproj 中转换为绝对路径来使用。 本文介绍如何在项目文件 csproj 中将一个相对路径转换为绝对路径。...在 MSBuild 4.0 ,可以在 csproj 编写调用 PowerShell 脚本代码,于是获取一个路径绝对路径就非常简单: 1 [System.IO.Path]::GetFullPath...你可以阅读我其他篇博客了解到 $(OutputPath) 其实最终都会是相对路径: 项目文件已知属性(知道了这些,就不会随便在 csproj 写死常量啦) - walterlv 如何更精准地设置...C# / .NET Core 项目的输出路径

    27630

    C语言笔记】windows命令行下编译C程序

    有关注我朋友可能会知道我C开发环境是:Notepad++与MinGW相结合,即用Notepad++写代码,用MinGW这个工具包gcc编译器进行编译。: 在Notepad++里写代码: ?...在黑窗口下编译及运行代码: ? 此处,编译命令为: gcc hello.c 生成可执行文件默认为a.exe,输入a.exe即可运行该可执行程序。...同样,也可添加-o参数给a.exe进行重命名,把hello.c编译生成可执行文件命名为hello.exe编译命令为: gcc hello.c -o hello.exe 此时就可以输出hello.exe...运行该程序,: ?...以上就是关于如何在window命令行下编译C程序一点补充笔记,掌握这一点就可以无缝切换到Linux下进行编译C程序了(相关笔记:【C语言笔记】windows下体验Linux环境)。

    2.9K30

    c#获取当前运行程序所在目录

    C#获取项目程序及运行路径方 1.asp.net webform用“Request.PhysicalApplicationPath获取站点所在虚拟目录物理路径,最后包含“\”; 2.c# winform...System.Windows.Forms.Application.StartupPath 获取启动了应用程序可执行文件路径。效果和2、5一样。...SQL Server\80\Tools\BINN C# 相对路径 系统路径 2007-12-22 09:53 //获取启动了应用程序可执行文件路径,不包括可执行文件名称。...备注 按照定义,如果该进程在本地或网络驱动器根目录启动,则此属性值为驱动器名称后跟一个尾部反斜杠(C:\”)。...如果该进程在子目录启动,则此属性值为不带尾部反斜杠驱动器和子目录路径C:\mySubDirectory”)。

    4.1K10

    通过修改CoreCLRClrHost实现自托管程序

    一篇我们讲了如何在windows和Linux编译CoreClr问题 虽然文章使用windows 10 (Bash)环境,但是也可以做为ubuntu环境参考。...成功编译CoreCLR源代码之后,会在**\coreclr\bin\Product\Windows_NT.x64.{*}**目录生成对应二进制文件,这里包含了基本CLR运行时文件。...2.修改程序集路径获取方式 //声明程序集路径变量 StackSString assemblyPath; //获取可执行文件路径 assemblyPath.Set(appPathPtr); SString...publish生成文件,它生成是将可执行文件.exe与程序集文件同名: demo.exe 、 demo.dll 这样文件组织方式。...其实解决方案就是得到exeName后,获取当前执行文件路径,提取出路径和文件名两个部分,并将文件名进行替换,这样可执行文件在加载时就会默认加载与它同名程序集文件,来做为ExecuteAssembly

    1.3K30

    iOS学习——如何在mac获取开发使用模拟器资源以及模拟器每个应用应用沙盒

    如题,本文主要研究如何在mac获取开发使用模拟器资源以及模拟器每个应用应用沙盒。...下面两张图第一张是模拟器资源文件夹式资源库,第二张是模拟器某个应用App对应应用沙盒(其实就是该应用对应文件系统目录)。   ...首先,由于Mac系统对系统资源没有像windows一样完全开放,在macOS资源库对用户默认是隐藏,用户无法很方便获取到系统硬盘资源目录。...需要找到模拟器目录目前好像只有通过本方法   接下来,我们就直接进入我们需要模拟器资源库,模拟器资源库路径:Users/mukekeheart/Library(即资源库)/Developer/CoreSimulator...其中模拟器ID在xcode-->windows-->Device and simulators中选定要查看模拟器设备,找到其id,然后打开对应数据文件夹。

    2.9K70

    Linxux应用开发-串口下载命令rzsz交叉编译

    1.1 简介 rz/sz工具是通过Zmodem协议传输文件命令,常用于Linux与windows之前数据传输。 这篇文章就介绍如何在交叉编译rz/sz命令,并在Linux开发板完成测试。...rz/sz,实现和Windows之间文件传输了: A、从windows拷贝/下载文件到Linux(开发板): 运行rz后,会自动弹出WIndows文件选择对话框,选择对应文件后,添加,然后确定,...B、将Linux文件拷贝到Windows某个文件夹: 执行sz file_name 就可以将Linux当前文件夹下文件file_name拷贝到Windows对应目录中了,其中,Windows目录是由你当前运行工具设定...此处我用是SecureCRT,具体更改 rz上传/sz下载 默认路径方法: 点击选项 -> 会话选项 -> Xmodem/Zmodem ->配置下载和上传目录: 1.2 移植 1.2.1 源码获取...1.2.5 拷贝生成命令 编译成功后在顶层目录下就可以看到生成可执行文件。 这些可执行文件对应不同传输协议。

    2.7K10

    【从零学习OpenCV】4Ubuntu系统安装OpenCV 4

    Ubuntu系统安装OpenCV 4 前面我们已经介绍了如何在Windows系统安装OpenCV 4。...虽然本书中程序代码主要在Windows运行,但是相信有一些读者使用Ubuntu系统进行计算机视觉学习,因此本小节将介绍如何在Ubuntu系统安装OpenCV 4.1。...第一行命令最后一定不要忘记有一个“..”指令,其含义是告诉编译器将要编译文件是来自一层文件夹CMakeList.txt文件。...接下来需要配置bash,在终端通过代码清单1-7第3行命令打开bash.bashrc文件,在打开文件末尾加上OpenCV 4.1安装路径,代码代码清单1-7第4行和第5行所示。...”文件声明set(CMAKE_CXX_FLAGS "-std=c++11") 在“main.cpp”文件输入程序代码清单1-9所示。

    2.2K30

    Windows 下使用 ffmpeg 库

    今天我们来聊聊如何在Windows下使用ffmpeg库进行音视开发。...不过相对来说还是使用 Windows 同学比较多,为了方便他们可以更顺利学习音视频开发,因此今天我们就来看看如何在 Windows 搭建使用 ffmpeg 开发环境。 ?...由于 Windows 是向下兼容,所以你编译出x86程序是可以跑在 64 位系统。相反如果你选择输出是x64的话,则它只能跑在64位系统,在 32 位系统是无法运行。...但凡事儿有利有弊,如果你编译出是x86程序,虽然它可以在x64位系统运行,但它运行速度要比编译出x64程序运行慢很多。...第四步,修改 C++/General Additional Include Directories ? 至此,我们就将 ffmpeg 头文件路径指定好了。

    3.2K50

    如何使用aDLL自动识别DLL劫持漏洞

    该工具可以分析加载至内存源码镜像,并在加载过程搜索DLL,并且利用了微软Detours代码库来拦截针对LoadLibrary/LoadLibraryEx函数调用,然后分析在代码运行时过程中加载...主要是因为Windows资源共享机制。为了尽可能多地安排资源共享,微软建议多个应用程序共享任何模块应该放在Windows系统目录kernel32.dll,这样能够方便找到。...工具使用 该工具提供了一个-h选项,可以帮助我们获取aDLL全部可用参数选项: .\aDLL -h 针对aDLL使用,我们需要提供至少一个运行参数,即需要分析可执行程序路径: ....\aDLL -e "C:\System32\notepad.exe" 工具选项 -h:显示工具帮助信息,并简要说明每个选项功能。 -e:指定aDLL要分析可执行文件路径。...-t:指定文本文件路径,其中包含可执行路径列表。 -o:指定扫描报告存储目录路径,每个扫描可执行文件都将在其中存储报告。 -m:搜索可执行文件清单列表并将其显示在屏幕

    1.5K20

    Windows劫持DLL

    目标查找 我们最大挑战是找到可以在默认用户权限下被利用易受攻击可执行文件,在Windows定位预安装系统可执行文件时,通常不包括上面的第一个选项,而选项2和3符合条件任何文件夹都必须是用户可写...查找方法 为了集中精力,我们默认存在可执行文件C:\windows\system32\,在经过测试Windows 10 v1909实例,该实例总共包含616个可执行文件,如果仅考虑已签名应用程序...劫持列表 下表列出了windows 10 v1909c:\windows\system32易受"相对路径DLL劫持"变体DLL劫持攻击所有可执行文件,在每个可执行文件旁边是一个或多个可能被劫持...在Windows7引入了自动提升功能,如果某些进程位于受信任目录(c:\Windows\system32),它会自动提升这些进程。...因此,让我们把重点放在检测,您可以从意外路径搜寻前面提到任何DLL创建或加载,特别是在临时位置(:%appdata%),毕竟加载DLL(合法)应用程序名称可以更改,但DLL文件名始终是固定

    2.1K10
    领券