在WIN98下可用GetPrivateProfileString()函数操作一般的INI文件(如:OEMINFO.INI、SthVCD.INI等文件)但在WINXP或WIN2000下,如何操作此类文件?

解决方案 »

  1.   

    给你一个demo:
    lstrcpy(FileName,CurrentDirectory);
    lstrcat(FileName,"\\control.ini");
    TRACE("Start ReadIni");

    //----------------------------------
        AudioVolume=0;
    AudioVolume=GetPrivateProfileInt("CtrlSet",
    "AudioVolume", 
    AudioVolume, 
    FileName); 
    AudioBalance=0;
    AudioBalance=GetPrivateProfileInt("CtrlSet",
    "AudioBalance", 
    AudioBalance, 
    FileName); 

    m_AudioVolumeCtrl.SetRange(-10000,0,TRUE); 
    m_AudioBalanceCtrl.SetRange(-10000,10000,TRUE); 

    m_AudioVolumeCtrl.SetPos(AudioVolume);
    m_AudioBalanceCtrl.SetPos(AudioBalance);

    mPlayer.SetVolume(AudioVolume,AudioBalance);
    // m_MediaPlayer.wp.SetVolume(1,LeftVolume);   
    // m_MediaPlayer.wp.SetVolume(2,RightVolume);   

    m_AudioVolumeCtrl.SetLineSize(1);
    m_AudioVolumeCtrl.SetPageSize(10000/ 20);

    m_AudioBalanceCtrl.SetLineSize(1);
    m_AudioBalanceCtrl.SetPageSize(20000/ 20);


        
        IsCtrlBy232=FALSE;
    IsCtrlBy232=GetPrivateProfileInt("CtrlSet",
    "IsCtrlBy232", 
    IsCtrlBy232, 
    FileName); 


        IsBakCtrSwitchRec=FALSE;
    IsBakCtrSwitchRec=GetPrivateProfileInt("CtrlSet",
    "IsBakCtrSwitchRec", 
    IsBakCtrSwitchRec, 
    FileName); 

        IsForceNext=FALSE;
    IsForceNext=GetPrivateProfileInt("CtrlSet",
    "IsForceNext", 
    IsForceNext, 
    FileName); 

    GetDlgItem(IDC_FORCE_NEXT)->ShowWindow(IsForceNext);


        IsCheckCard=TRUE;
    IsCheckCard=GetPrivateProfileInt("CtrlSet",
    "IsCheckCard", 
    IsCheckCard, 
    FileName); 

    CurrentData.IsNeedBaoShi=TRUE;
        CurrentData.IsNeedBaoShi=GetPrivateProfileInt("CtrlSet",
    "IsNeedBaoShi", 
     CurrentData.IsNeedBaoShi, 
     FileName); 
    CheckDlgButton(IDC_NEEDBAOSHI,CurrentData.IsNeedBaoShi);
        lstrcpy(BakComputer,"");   
        GetPrivateProfileString("CtrlSet", 
    "BakComputer",
    BakComputer, 
    BakComputer,
    50,
    FileName);

        lstrcpy(Decoder,"ligos");   
    GetPrivateProfileString("CtrlSet",
    "Decoder", 
    Decoder, 
    Decoder,
    50,
    FileName); 

        lstrcpy(DpFileName,"");   
    GetPrivateProfileString("CtrlSet",
    "DpFileName", 
    DpFileName, 
    DpFileName,
    127,
    FileName); 



    NeedComCtrl=FALSE;
    NeedComCtrl=GetPrivateProfileInt("CtrlSet",
    "NeedComCtrl", 
    NeedComCtrl, 
    FileName); 


    ValiDay=3;
    ValiDay=GetPrivateProfileInt("CtrlSet",
    "ValiDay", 
    ValiDay, 
    FileName); 
    SetDlgItemInt(IDC_VALIDAY,ValiDay,TRUE);