添加打印处理器不起作用?
addprintprocessor doesn't work?
我试图在计算机中安装我的printprocessor,但它不起作用??!!
下面的代码:
_In_ LPTSTR pPathName;
_In_ LPTSTR pPrintProcessorName;
string strPathName = "HP1100PP.dll";
string strPrintProcessorName = "HP1100PP";
pPathName = (LPWSTR)strPathName.c_str();
pPrintProcessorName = (LPWSTR)strPrintProcessorName.c_str();
int a = AddPrintProcessor(NULL , NULL ,pPathName , pPrintProcessorName);
a的输出为0。
提前感谢您的回答。
对宽字符字符串(LPWSTR)
的强制转换实际上并不会使字符串成为宽字符字符串。您的数据仍然是ANSI,强制转换只是对编译器撒谎的一种手段。去掉那些铸件。不要对编译器撒谎。
然后编译器将拒绝您的代码,因为您的文本是ANSI,但函数需要Unicode文本。因为您编译的目标是Unicode。这是你不诚实的投射所抑制的错误。你需要通过纠正类型不匹配来正确处理它。因此,要么切换到wstring
,要么调用AddPrintProcessorA
。我建议前者。
我还建议不要使用TCHAR
和相关类型。当你瞄准不支持Unicode的Win98时,这很有用,但那些日子已经一去不复返了。
相关文章:
- 我的神经网络不起作用 [XOR 问题]
- 在C++程序中输入的文本文件将不起作用,除非文本被复制和粘贴
- C++映射:具有自定义类的运算符[]不起作用(总是返回0)
- C++为什么尽管我调用了void函数,它却不起作用
- 为什么在保护模式下继承升级不起作用
- 循环在计数器中不起作用
- 在其他文件中创建类时在 c++ 项目中不起作用
- Visual studio代码重构似乎不起作用(例如,重命名符号-f2)
- 为什么二进制搜索在我的测试中不起作用
- 我的代码中有错误吗?使用BGI图形的C++代码对我不起作用
- 为什么 const std::p air<K,V>& 在 std::map 上基于范围的 for 循环不起作用?
- 带有指定长度字符* 参数的 std::regex_search 在 VS2017 中不起作用?
- Bjarne Stroustrup Book - std_lib_facilities.h - 不起作用(未知类型名称)
- 为什么简单的算术减法在"if"条件下不起作用?
- 为什么Stroustup书中的has_f不起作用
- 你能检查一下为什么在这个代码中从链接列表中删除项目不起作用吗
- C++预处理器宏中的代码块在没有大括号的情况下不起作用
- 自定义顶点处理器不起作用 - 矩阵乘法错误或其他什么?
- 预处理器指令在for循环中不起作用
- 添加打印处理器不起作用?