AutoRun 免疫程序的编写

来源:互联网 发布:遗传算法的交叉概率 编辑:程序博客网 时间:2024/04/28 06:46

在OnInitDialog()中添加:

char szDriverString[MAXBYTE] = {0};    char *pTmp = NULL;    SetDlgItemText(IDC_COMBO_DRIVER, _T("请选择欲免疫的盘符..."));    GetLogicalDriveStrings(MAXBYTE, szDriverString);    pTmp = szDriverString;    while(*pTmp)    {        m_ComboDriver.AddString(pTmp);        pTmp += 4;    }

“免疫”按钮:

#define AUTORUN "autorun.inf"//创建无法删除的目录#define IMMUNITY "\\Immunity...\\"void CImmunityUDlg::OnOK() {    char szPath[MAX_PATH] = {0};    GetDlgItemText(IDC_COMBO_DRIVER, szPath, MAX_PATH);    //创建autorun.in文件夹    strcat(szPath, AUTORUN);    bool bRet = CreateDirectory(szPath, NULL);    if(!bRet)    {        AfxMessageBox("无法免疫该盘符!可能已经免疫,或者该磁盘为不可写状态!");        return;    }    //创建无法删除的用来免疫的文件夹    strcat(szPath, IMMUNITY);    bRet = CreateDirectory(szPath, NULL);    if(!bRet)    {        AfxMessageBox("无法免疫该盘符!肯能已经免疫,或者该磁盘为不可写状态!");    }    else        AfxMessageBox("免疫成功!");}

“取消”按钮:

void CImmunityUDlg::OnCancel() {    char szPath[MAX_PATH] = {0};    GetDlgItemText(IDC_COMBO_DRIVER, szPath, MAXBYTE);    strcat(szPath, AUTORUN);    strcat(szPath, IMMUNITY);    RemoveDirectory(szPath);    ZeroMemory(szPath, MAX_PATH);    GetDlgItemText(IDC_COMBO_DRIVER, szPath, MAXBYTE);    strcat(szPath, AUTORUN);    RemoveDirectory(szPath);    AfxMessageBox("删除成功!");}

这里写图片描述

0 0
原创粉丝点击