类型:转载 责任编辑:asp 日期:2007/03/01
我的问题是这样的:
我要建立一个计划任务,而在设置计划任务要执行的程序名时遇到了问题:
我利用
hresult itask:: setapplicationname(
lpcwstr pwszapplicationname
);来设置程序名,可是我传人的是一个ansi 形式的字符串,所以要把它转换为一个unicode形式的字符串,我使用宏_text("")进行转换;比如说,我传人的字符串pname的值为"f:\project\file\abc.exe",随后pwszapplicationname=_text(pname),然后调用
setapplicationname(pwszapplicationname);可是当我在控制面板的计划任务中查看建立的计划任务时,我所设置的程序名是乱码!!!,我试了n次,还是这样,我快要疯掉了,请大侠们指点迷津啊!!
推荐阅读
windows有专门的api完成该任务。好像是widetomulti...什么的?记不清了;
还有一个
use_conversion
pwszapplicationname = a2w(pname);
这是一群函数:还有t2ole,ole2t,等
要定义unicode和_unicode
_text宏才会把字符串转换成unicode类型。
定义unicode和_unicode是在“project setting->c/c++”中的preprocessor definitions中加入
补充,如果是字符串常量,可以使用上面的办法
否则的话就要使用multibytetowidechar转换
onion_535(one two)的办法是可行的,不过还要安装vc的unicode库,还要设置
entrypoint,比较麻烦