Win32 API功能封装
+ -

文件路径名解析出路径、盘符、扩展名和文件名

2022-10-24 63 0
 LPTSTR szfileName = new TCHAR[MAX_PATH];

    GetModuleFileName(NULL, szfileName , MAX_PATH);

    // 获取盘符、文件名、扩展名等信息
    wchar_t drive[_MAX_DRIVE];
    wchar_t dir[_MAX_DIR];
    wchar_t fname[_MAX_FNAME];
    wchar_t ext[_MAX_EXT];
    errno_t err;
    err = ::_wsplitpath_s(szFileName, drive, _MAX_DRIVE, dir, _MAX_DIR,
        fname, _MAX_FNAME, ext, _MAX_EXT);
    // 只获取路径
    PathRemoveFileSpec(szFileName);

注意:_wsplitpath_s函数不会改变szFileName中的内容,但是PathRemoveFileSpec却会改变。
头文件:_wsplitpath_s() 在stdlib.h中。
PathRemoveFileSpec()函数在shlwapi.h中。

0 篇笔记 写笔记

windows驱动协安装的配置及源安装路径获取
在做windows驱动开发时,有时需要在驱动安装前,安装后,等事件发生时进行一系列的处理工作,当然如果在驱动内部配置相关的IRP回调函数,但有时多有不便。微软给我们提供了一种叫做协安装的方法,由系统调用,我们只需要生成DLL并导出函数即可。以vm虚拟机的显卡驱动为例,inf文件配置如下:[vmx......
windows驱动协安装路径获取
在做windows驱动开发时,有时需要在驱动安装前,安装后,等事件发生时进行一系列的处理工作,当然如果在驱动内部配置相关的IRP回调函数,但有时多有不便。微软给我们提供了一种叫做协安装的方法,由系统调用,我们只需要生成DLL并导出函数即可。以vm虚拟机的显卡驱动为例,inf文件配置如下:[vmx......
DevCon ListClass命令
DevCon ListClass用于列出指定设备设置类中的所有设备。 在本地和远程计算机上有效。命令格式devcon [/m:\computer] listclass class [class...]参数如果要在指定的远程机器上运行,使用/m参数,并且目标计算机的路径使用反斜杠””来标识。......
Devcon ListClass命令代码实现
ListClass命令用于列出当前系统中该设备类下的的有设备实例并显示设备的友名。ListClass命令由两部分组成:第一部分是根据设备的类名获取其类GUID,然后再通过SetupDiGetClassDevsEx打开该GUID分类的设备集,获取其 HDEVINFO devs句柄。当然这里也为了显......
Devcon hwids命令源代码实现
Devcon hwids命令显示设备的硬件ID信息。主要的显示包括如下:了解过之前几个命令的同学应该觉地比较简单,因为或多或少有些信息如设备友名,设备实例名路径我们都获取过,而设备的硬件ID和兼容ID其实与是比较简单是,和设备的友名一样,是通过SetupDiGetDeviceRegistryPro......
DevCon DriverNodes命令
DevCon DriverNodes命令列出与设备兼容的所有驱动程序包及其版本和驱动排名。DevCon DriverNodes 操作仅在本地计算机上运行。DevCon DriverNodes 操作对于排查驱动安装问题特别有用。 例如,可以使用它来确定设备Windows INF 文件或自定义的第三方 ......
APO动态库DLL文件的路径问题
APO DLL注册路径APO的DLL文件是通过regsvr32注册表的。比如:regsvr32.exe xxAPO.dll这样在注册表HKEY_LOCAL_MACHINESOFTWAREClassesCLSID就会记录该文件的GUID的路径。该GUIDPKEY_FX_*EffectCls......
文件路径名解析出路径、盘符、扩展名和文件名
LPTSTR szfileName = new TCHAR[MAX_PATH]; GetModuleFileName(NULL, szfileName , MAX_PATH); // 获取盘符、文件名、扩展名等信息 wchar_t drive[_MAX_DRIVE];......
枚举注册表指下路径下的项RegEnumKeyEx
要枚举所有注册表子健的名称,实现原理为先用RegOpenKey函数打开要遍历的注册表子健的父键,然后先调用一次RegEnumKeyEx函数,把索引设置为0,获得第一个子健,最后用循环不断地增加索引,获取其它子健,直到返回的值为非0,表示遍历结束,最后用RegCloseKey函数关闭打开的注册表父键。......
Windows设备实例路径生成规则
PNP管理器通过PipMakeGloballyUniqueId来生成设备的实例路径。默认情况下,设备的实例路径由系统按一定的规则生成,但是也有例外,即可以通过总线驱动来指定设备的实例路径。设备实例路径生成规则是选择由按系统规则还是由驱动指定,取决于总线驱动返回的PDO设备的DeviceCapabil......
获取设备的父系节点实例路径CM_Get_Parent
在Windows设备管理器中,每个设备节点都有一个属性Parent父系,表示该设备的父节点的实例路径;我们可以使用如下代码来枚举显示,其原理就是通过CM_Get_Parent获取到父设备的DEVINST,然后再通过CM_Get_Device_ID获取到它的实例路径#include
扩展模块即OBS需要加载的外部dll。这些dll一般位于C:Program Filesobs-studioobs-plugins64bit目录下。模块路径外部模块的路径添加通过函数obs_add_module_path实现。void obs_add_module_path(const......
作者信息
我爱内核
Windows驱动开发,网站开发
好好学习,天天向上。
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

您的支持,是我们前进的动力!