阅读:1613回复:8
我找了2天了 还是不明白 为什么不行!!!!!!!!!!
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] 指针 等等 很多办法了 都不行 不能把图片存下来 为什么 |
|
沙发#
发布于:2007-01-31 22:07
//hDIBFile = CreateFile(pOemPDEV->szPreviewFileName, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
这是原来哪句 |
|
板凳#
发布于:2007-01-31 23:11
你用的是unicode,需要转码成wchar
hDIBFile = CreateFile( L"e:\\1.bmp", GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, NULL, NULL ); |
|
|
地板#
发布于:2007-02-02 23:04
lstrcpy(pOemPDEV->szPreviewFileName,TEXT("c:\\aaaa.bmp"));
我这样解决的 |
|
地下室#
发布于: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 不报错但 没数据了 |
|
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 > ㄌ `阀 ? 豖 |
|
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天就搞了这么点东西 比蜗牛都慢 |
|
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没有生成 睡觉了 困了 等高手指点 |
|
8楼#
发布于:2007-02-04 12:57
没人知道吗?
还是没人指点? |
|