2976|4

55

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

请wince高手帮忙编译一小段程序做成可执行文件 [复制链接]

我的目的是获取cf卡的id,下面是一段我在eeworld上找到的程序,应该没有error,但是我没有ce的开发环境,所以在这里请高手帮忙,如果生成后请发到我的邮箱okimrong@hotmail.com  ,  这个邮箱也是我的msn!   代码如下:



#include

typedef struct _STORAGE_IDENTIFICATION {
        DWORD dwSize;
        DWORD dwFlags;
        DWORD dwManufactureIDOffset;
        DWORD dwSerialNumOffset;
} STORAGE_IDENTIFICATION, *PSTORAGE_IDENTIFICATION;


TCHAR tzCFCardID[22];
TCHAR tzError[50];
HANDLE hCard = CreateFile(TEXT("DSK3:"), GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,0,NULL);

if(hCard)
{
        int i = 0;
        PSTORAGE_IDENTIFICATION pStoreInfo;
        pStoreInfo=(STORAGE_IDENTIFICATION *)LocalAlloc(LMEM_ZEROINIT,3000);

        DWORD dwGetBytes;
       
        if (DeviceIoControl(hCard,CTL_CODE(0x0007, 0x0709, METHOD_BUFFERED, FILE_ANY_ACCESS),NULL,0,(LPVOID)pStoreInfo,3000,&dwGetBytes,NULL)!=FALSE)
        {
                if(dwGetBytes > 0)
                {
                        i = 0;
                        int j = 0;
               
                        if(pStoreInfo->dwSerialNumOffset < dwGetBytes)
                        {
                                BYTE* SerialNo=(((BYTE *)pStoreInfo)+pStoreInfo->dwSerialNumOffset);
                               
                                while (SerialNo!=0 && i<(int)(dwGetBytes-pStoreInfo->dwSerialNumOffset) && i<22)
                                {
                               
                                        if(SerialNo < '0' || SerialNo > 'z')
                                        {
                                                j++;
                                        }
                                        else
                                        {
                                                tzCFCardID[i - j]=(TCHAR)SerialNo;
                                        }
                                       
                                        i++;
                                }
                        }
                       
                        tzCFCardID[i - j]=0;
                }
        }
        else
        {
                wsprintf(tzError, TEXT("Fail to read Card ID, error number is:%lu!"), GetLastError());
                AfxMessageBox(tzError);
                LocalFree(pStoreInfo);
                CloseHandle(hCard);
                return ;
        }
       
        LocalFree(pStoreInfo);
        CloseHandle(hCard);
        AfxMessageBox(tzCFCardID);
}
此帖出自WindowsCE论坛

最新回复

编译是没有问题 已发送,你查收一下CFCardID.exe  详情 回复 发表于 2007-7-31 15:59
点赞 关注
 

回复
举报

71

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
HANDLE hCard = CreateFile(TEXT("DSK3:")——这个语句里面的dsk3我挺迷惑的,怎么设定我才能找到cf卡的真正路径呢?

高手如果看到,指点一下,顺便我说明一下,我的设备是wince4.2版本
此帖出自WindowsCE论坛
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
哦,我知道了,请把DSK3改成DSK1再编译成EXE
此帖出自WindowsCE论坛
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

4
 
没有开发环境,自己搭建一个呗
此帖出自WindowsCE论坛
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

5
 
编译是没有问题
已发送,你查收一下CFCardID.exe
此帖出自WindowsCE论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表