1。介绍
SHCreateDirectoryEx是window flatform下建立文件夹的函数,他的功能比CreateDirectory(Ex)大。如果创建文件夹目录有的中间目录不存在,SHCreateDirectoryEx可以建立,而CreateDirectory(Ex)则做不到这一点。
2。使用方法
要想使用SHCreateDirectoryEx,必须先安装windows2000 floatform SDK,或者从已经安装的些开发包的系统中,把需要的文件考过来,这样比较麻烦,所以还要去微软的网站上下载一个开发包安装为好。些函数最低的系统要求为windows2000和window Me.
假设的Flatform SDK安装在C:\PROGRAM FILES\MICROSOFT PLATFORM SDK\目录下
在VC6中编译程序时(其他的编译工具遇到情况,用类似的方法解决)
如果出现这种错误:
error C2065: \\'SHCreateDirectoryEx\\' : undeclared identifier
则打开工具栏Project->Setting.s..
出现配置窗口
选择C/C++
Category(分类)选择Preprocessor(预处理器)
在Additional include directories
添加C:\PROGRAM FILES\MICROSOFT PLATFORM SDK\INCLUDE
设置完成后
在程序中添加引入库
#pragma comment(lib, "C:\\Program Files\\Microsoft Platform SDK\\Lib\\shell32.lib")
----------------------------------------------自己的内容:------------------------------------------------------
由于我要编译的程序是公司的程序,所以也可以用如下的设置(我编译也成功了):
VC++6.0-》工程-》设置-》连接-》分类:常规-》对象/库模板-》
"C:\Program Files\Microsoft Platform SDK\Lib\shell32.lib" "C:\Program Files\Microsoft Visual Studio\VC98\Lib\UUID.LIB"
PS:这样设置,其实就是用SDk的”shell32.lib“而不用VC++自己的”shell32.lib“
------------------------------------------------------------------------------------------------------------------------
这样应该可以成功完成编译了。
3.函数使用
int SHCreateDirectoryEx(
HWND hwnd,
LPCTSTR pszPath,
SECURITY_ATTRIBUTES *psa
);
hwnd是窗口句柄,可以为NULL.
psa是安全属性设置项,可以为NULL.
pszPath要注意,这个路径必须是绝对路径. 比如c:\test, d:\hello, 不能写成test,也不能写成.\test这样的相对路径。
转载:http://xue23.blog.163.com/blog/static/9793442005725241450/
分享到:
相关推荐
报错误error C2065: '_beginthreadex' :undeclared identifier
error C2065: ‘_bstr_t’ : undeclared identifier error MSB8008: 指定的平台工具集(v110)未安装或无效 error C2065: “CString”: 未声明的标识符 error C2664: “ATL::CStringT,StringTraits>::Remove”: 不能...
error C2065: 'PacketGetVersion' : undeclared identifier
1.分析:函数是组成C程序的基本单位 2.分析:编译程序,会出现错误:error C2065: 'null' : undeclared identifier 3
在使用AD运行Ultra Librarian脚本UL_Import.pas时,低版本的Altium Designer可能会遇到错误:Undeclared identifier:GetCurrentProductBuild。 这时,点击OK,再点击停止按钮。 使用{}将出现错误的地方注释掉,...
<... <body> <h1>Build Log --------------------Configuration: 综合...C:\Users\Silence\Documents\综合性实验\3、mian program\3、main program.cpp(13) : error C2065: 'drawmenu' : undeclared identifier
本代码参考“老狼Gh0st远程协助软件编写教程”,由于server端使用vc6.0编写时始终出现如下等错误:error C2065: 'IDC_HAND' : undeclared identifier
Keil MDK 编译 ucOS-II 出现的警告和错误解决
C编译的程序对语法检查并不象其它高级语言那么严格,这就给编程人员留下“灵活的余地”,但还是由于这个灵活给程序的调试带来了许多不便,尤其对初学C语言的人来说,经常会出一些连自己都不知道错在哪里的错误。...
fakeroot软件编译报出的‘_STAT_VER’ undeclared 错误,如采用网上通用的直接宏定义_STAT_VER方法虽也可以编译通过,但最后生成的文件系统大概率为非root用户,系统随可启动,但是相关命令运行及proc文件系统挂在等...
Intel的型号是I219-LM。但是这个型号在Intel官网上只有FreeBSD的驱动,并没有Linux的源码。 后面又发现了www.centos.org上的内容,确认了可以和e1000e的网卡驱动通用
buildroot-f45925a951318e9e53bead80b363e004301adc6f.tar.bz2
VC++编程中,20种常见的编译错误信息以及解决方案
ruby-build - 编译和安装Ruby
包含hostapd,openssl,libnl的编译说明, route/link/vlan.c:51: error: 'VLAN_FLAG_REORDER_HDR' undeclared here (not in a function)错误的解决办法
apr_escape_test_char.h apr项目中缺失的apr_escape_test_char.h文件,把它放到apr\include,并在项目中添加这个头文件
基于STM32,W25Qxx系列驱动, IO模拟IIC通信
按官方diff文件修改过的luabind代码,修正了在使用lua5.1时,编译luabind出现编译错误的兼容性问题: error C2065: \'LUA_NOREF\' : undeclared identifier
file.c:141: error: (Each undeclared identifier is reported only once file.c:141: error: for each function it appears in.) file.c:142: error: `CODA_SUPER_MAGIC' undeclared (first use in this function) ...
其中,调用线程的代码在标题栏变化数值的for循环代码之前 结论:创建线程调用函数,可以同步执行创建线程后面的代码(本例的for循环),直接调用函数,则先调用函数执行完毕后,再执行后面的代码,因为是调用的线程...