我想在对话框程序中使用自动完成,就加了以下代码:
#include "Shlwapi.h"
在OnInitDialog()加了:
CoInitialize( NULL );
if(SHAutoComplete(GetDlgItem(IDC_FILE_PATH)->GetSafeHwnd(),
SHACF_DEFAULT)!=S_OK)return FALSE;
结果编译的时候出现了:
error C2065: “SHACF_DEFAULT” : 未声明的标识符
error C3861: “SHAutoComplete”: 即使使用参数相关的查找,也未找到标识符
错误!晕~~MSDN明明说是在Shlwapi.h中的,可是怎么又不能编译啊??
我的程序中还用了SHFileOperation()怎么这个又没问题
请高手指教~~~~~~~~~~小弟感激不尽~~(我是在vs.net 2003下做的)
#include "Shlwapi.h"
在OnInitDialog()加了:
CoInitialize( NULL );
if(SHAutoComplete(GetDlgItem(IDC_FILE_PATH)->GetSafeHwnd(),
SHACF_DEFAULT)!=S_OK)return FALSE;
结果编译的时候出现了:
error C2065: “SHACF_DEFAULT” : 未声明的标识符
error C3861: “SHAutoComplete”: 即使使用参数相关的查找,也未找到标识符
错误!晕~~MSDN明明说是在Shlwapi.h中的,可是怎么又不能编译啊??
我的程序中还用了SHFileOperation()怎么这个又没问题
请高手指教~~~~~~~~~~小弟感激不尽~~(我是在vs.net 2003下做的)
进Shlwapi.h看看是否有HAutoComplete的定义要是有就看看是否有OS版本的限制?? >0X05000这样的?
Requirements
Version 4.00 and later of Shell32.dll Windows NT/2000: Requires Windows NT 4.0 or later.
Windows 95/98: Requires Windows 95 or later.
Header: Declared in shellapi.h.
Import Library: shell32.lib.SHAutoComplete
Requirements
Version 5.00 and later of Shlwapi.dll Windows NT/2000: Requires Windows 2000 (or Windows NT 4.0 with Internet Explorer 5.0 or later).
Windows 95/98: Requires Windows 98 (or Windows 95 with Internet Explorer 5.0 or later).
Header: Declared in shlwapi.h.
Import Library: shlwapi.lib.从两个函数要求来看,它们并不在同一个头文件中申明。而且SHAutoComplete要求的动态库版本是5.0。你不妨看看你机器上Shlwapi.dll文件的版本号
#include "Shlwapi.h"