whzooo
驱动牛犊
驱动牛犊
  • 注册日期2006-05-10
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分170分
  • 威望18点
  • 贡献值0点
  • 好评度17点
  • 原创分0分
  • 专家分0分
阅读:1613回复:8

我找了2天了 还是不明白 为什么不行!!!!!!!!!!

楼主#
更多 发布于:2007-01-31 22:06
  hDIBFile = CreateFile(
  "e:\\1.bmp", GENERIC_WRITE, 0, NULL,
  CREATE_ALWAYS, NULL, NULL );

做虚拟打印机里面的一句

编译的时候报错
errors in directory f:\src\uni
output.cpp(189) : error C2664: 'CreateFileW' : cannot convert parameter 1 from '
const char [9]' to 'LPCWSTR'



这是我用的第n种方法了  前面曾经 用TCHAR[MAX_PATH]  指针 等等 很多办法了  都不行

不能把图片存下来 为什么
whzooo
驱动牛犊
驱动牛犊
  • 注册日期2006-05-10
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分170分
  • 威望18点
  • 贡献值0点
  • 好评度17点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-01-31 22:07
//hDIBFile = CreateFile(pOemPDEV->szPreviewFileName, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);


这是原来哪句
znsoft
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2023-10-25
  • 粉丝300
  • 关注6
  • 积分910分
  • 威望14796点
  • 贡献值7点
  • 好评度2410点
  • 原创分5分
  • 专家分100分
  • 社区居民
  • 最爱沙发
  • 社区明星
板凳#
发布于:2007-01-31 23:11
你用的是unicode,需要转码成wchar

hDIBFile = CreateFile(
L"e:\\1.bmp", GENERIC_WRITE, 0, NULL,
CREATE_ALWAYS, NULL, NULL );
http://www.zndev.com 免费源码交换网 ----------------------------- 软件创造价值,驱动提供力量! 淡泊以明志,宁静以致远。 ---------------------------------- 勤用搜索,多查资料,先搜再问。
whzooo
驱动牛犊
驱动牛犊
  • 注册日期2006-05-10
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分170分
  • 威望18点
  • 贡献值0点
  • 好评度17点
  • 原创分0分
  • 专家分0分
地板#
发布于:2007-02-02 23:04
lstrcpy(pOemPDEV->szPreviewFileName,TEXT("c:\\aaaa.bmp"));
我这样解决的
whzooo
驱动牛犊
驱动牛犊
  • 注册日期2006-05-10
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分170分
  • 威望18点
  • 贡献值0点
  • 好评度17点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2007-02-02 23:05
HANDLE    hDIBFile = NULL;
               hDIBFile = CreateFile(TEXT("c:\\aa4aa.txt"), GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
               BOOL bRet = FALSE;
               DWORD NumByteWritten = 0;
               char *log="<Log><printlog><job_id>";
               char *dn=pJobInfo->pDocument;
               bRet = WriteFile(hDIBFile,log,strlen(log) , &NumByteWritten, NULL);
               bRet = WriteFile(hDIBFile,dn,strlen(dn) , &NumByteWritten, NULL);
               CloseHandle(hDIBFile);


111111111111111111111111
ddicntl.cpp(117) : error C2440: 'initializing' : cannot convert from 'LPWSTR' to
 'char *'

如果我用 (char*)pJobInfo->pDocument
不报错但 没数据了
whzooo
驱动牛犊
驱动牛犊
  • 注册日期2006-05-10
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分170分
  • 威望18点
  • 贡献值0点
  • 好评度17点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2007-02-02 23:12
HANDLE    hDIBFile = NULL;
               hDIBFile = CreateFile(TEXT("c:\\aa.txt"), GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
               BOOL bRet = FALSE;
               DWORD NumByteWritten = 0;
               bRet = WriteFile(hDIBFile,TEXT("<Log><printlog><job_id>"),sizeof(TEXT("<Log><printlog><job_id>")) , &NumByteWritten, NULL);
               bRet = WriteFile(hDIBFile,TEXT("<Log><printlog><job_id>"),sizeof(TEXT("<Log><printlog><job_id>")) , &NumByteWritten, NULL);
               bRet = WriteFile(hDIBFile,pJobInfo->pDocument, lstrlen(pJobInfo->pDocument) , &NumByteWritten, NULL);
               CloseHandle(hDIBFile);

-----------------------
上面的代码在vc 6.0里面管用

我用vs2005 改的cpp文件

build 成驱动  就存不出东西 要不存出的东西不行
正确的存储信息
<Log><printlog><job_id> <Log><printlog><job_id> 未标题-1.psd

错误的1
<Log><printlog><job_id> <Log><printlog><job_id>3?〢

错误的2

< L o g > < p r i n t l o g > < j o b _ i d >   < L o g > < p r i n t l o g > < j o b _ i d >   ㄌ
 `阀   ? 豖
 
whzooo
驱动牛犊
驱动牛犊
  • 注册日期2006-05-10
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分170分
  • 威望18点
  • 贡献值0点
  • 好评度17点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2007-02-03 00:18
HANDLE    hDIBFile = NULL;
               hDIBFile = CreateFile(TEXT("c:\\ffdgfaa4aa.txt"), GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
               BOOL bRet = FALSE;
               DWORD NumByteWritten = 0;
               char *log="<Log><printlog><job_id>";
               char *dn=NULL;
               WideCharToMultiByte(CP_ACP,WC_SEPCHARS,pJobInfo->pDocument, -1,dn,255,NULL,NULL);
               bRet = WriteFile(hDIBFile,log,strlen(log) , &NumByteWritten, NULL);
               bRet = WriteFile(hDIBFile,dn,strlen(dn) , &NumByteWritten, NULL);
               CloseHandle(hDIBFile);

spool 进程死了  连图片都出不来了 咋办??????????
怎么改都不行
这个3天就搞了这么点东西 比蜗牛都慢
whzooo
驱动牛犊
驱动牛犊
  • 注册日期2006-05-10
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分170分
  • 威望18点
  • 贡献值0点
  • 好评度17点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2007-02-03 00:42
HANDLE    hDIBFile = NULL;
               hDIBFile = CreateFile(TEXT("c:\\ffdgfaa4aa.txt"), GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
               BOOL bRet = FALSE;
               DWORD NumByteWritten = 0;
               char *log="<Log><printlog><job_id>";
              
               DWORD dwNum = WideCharToMultiByte (CP_ACP, 0, pJobInfo->pDocument, -1, NULL, 0,NULL,NULL);
               char *dn=new char[dwNum];
               WideCharToMultiByte(CP_ACP,0,pJobInfo->pDocument, -1,dn,dwNum,NULL,NULL);
               bRet = WriteFile(hDIBFile,(char*)dwNum,strlen((char*)dwNum) , &NumByteWritten, NULL);
               bRet = WriteFile(hDIBFile,log,strlen(log) , &NumByteWritten, NULL);
               bRet = WriteFile(hDIBFile,dn,strlen(dn) , &NumByteWritten, NULL);
               CloseHandle(hDIBFile);




进程继续卡死  生成的 txt文件 无法打开 始终 被占用  bmp没有生成

睡觉了

困了


等高手指点
whzooo
驱动牛犊
驱动牛犊
  • 注册日期2006-05-10
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分170分
  • 威望18点
  • 贡献值0点
  • 好评度17点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2007-02-04 12:57
没人知道吗?

还是没人指点?
游客

返回顶部