描述:
我在写一个程序,没有mfc支持的。是一个系统服务,在有用户登入的时候显示一个托盘。结果发现 (m_tnid是NOTIFYICONDATA结构体,m_tnid.szTip的定义是unsign short)
strcpy(m_tnid.szTip,"DataAssSrv");
cannot convert parameter 1 from 'unsigned short [64]' to 'char *'
但是另外一个程序里,也是同样一句却没有问题。另外一个有mfc支持的普通程序。
请问不加入mfc支持怎么用这个函数?
另外,
fatal error LNK1120: 1 unresolved externals Error executing link.exe.
是什么错误?
解决方案1:
up
解决方案2:include "shellapi.h"
解决方案3: 这样行吗?
strcpy((char*)m_tnid.szTip,"DataAssSrv");
最简单的,
#include <tchar.h>
_tcscpy( m_tnid.szTip,_T( "DataAssSrv" ) );
另外strcpy((char*)m_tnid.szTip,"DataAssSrv");是不行的,因为szTip是双字节编码的,你这么做数据是拷贝了,但是显示的会是乱码!建议用memcopy,然后"DataAssSrv"改为L"DataAssSrv"
你没有导入库(包含Shell_NotifyIcon函数的LIB文件),所以找不到外部连接
解决方案7: 用sprintf函数就可以了
sprintf(m_tnid.szTip,"%s","DataAssSrv");