建立一个没有MFC的控制台程序,创建IShellLink接口:
#include "stdafx.h"
#include<stdio.h>
#include<crtdbg.h>
#include<objbase.h>
#include<ShlGuid.h>
#include<ShObjIdl.h>
#pragma comment(lib,"ole32")
int _tmain(int argc, _TCHAR* argv[])
{
HRESULT hr;
CoInitialize(NULL);
IShellLink* pL=NULL;
_ASSERT(SUCCEEDED(CoCreateInstance(CLSID_ShellLink,NULL,0,IID_IShellLink,(void**)pL)));
}
运行ASSERT失败。
这是为什么呢?
#include "stdafx.h"
#include<stdio.h>
#include<crtdbg.h>
#include<objbase.h>
#include<ShlGuid.h>
#include<ShObjIdl.h>
#pragma comment(lib,"ole32")
int _tmain(int argc, _TCHAR* argv[])
{
HRESULT hr;
CoInitialize(NULL);
IShellLink* pL=NULL;
_ASSERT(SUCCEEDED(CoCreateInstance(CLSID_ShellLink,NULL,0,IID_IShellLink,(void**)pL)));
}
运行ASSERT失败。
这是为什么呢?
解决方案 »
- VS2008自动生成的CPropertiesWnd中,我初始化一些参数,可是却写不进去,显示空白,大家都是怎么处理的?
- 部分银行的网站无法右键查看源文件,寻求查看源文件的工具,仅仅想看下代码,谢谢,在线等!·
- 关于socket编程中多线程与基于消息的异步套接字,哪个好?
- AlphaBlend半透明BITMAPINFO问题??十万火急,在线等。。。
- 用VC读Excel的问题 (Jet 4.0 OLE DB)
- 急!!如何获得VC查询数据库返回的结果集的具体数目!!
- 到了4角,把分散光~~
- 如何在一个文件的特定位置中插入某字符而不覆盖原来的内容?
- 一看就知道!
- 用DAO数据库怎样实现ACCESS兼容?
- edit里设置光标到文本结尾
- VS属性中的$(TargetName)和$(ProjectName)有何区别?
GetLastError()返回0,没有错误?
但是CoCreateInstance返回E_INVALIDARG
看起来我的参数有错。错在哪里呢?
_ASSERT(SUCCEEDED(CoCreateInstance(CLSID_ShellLink,NULL,0,IID_IShellLink,(void**)&pL)));
没有pL=NULL;的话,Debug会有错误
Runtime check Failure: used uninitiailized pointer pL.
!