全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:899
推到 Plurk!
推到 Facebook!

win.ini寫入

尚未結案
hyushiang
一般會員


發表:9
回覆:6
積分:3
註冊:2004-07-12

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-11-22 22:59:42 IP:59.112.xxx.xxx 未訂閱
假若
String="run=lac.exe"; 
我想把這String寫入到win.ini 也就是說尋找win.ini 的run= 然後強制復蓋成run=lac.exe 有什麼作法(希望不要是指定行數的作法) 莊子‧華南真經:「為善無近名,為惡無近刑。」
------
莊子‧華南真經:「為善無近名,為惡無近刑。」
Zard
尊榮會員


發表:24
回覆:396
積分:539
註冊:2003-11-26

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-11-23 09:17:39 IP:210.243.xxx.xxx 未訂閱
引言: 假若
String="run=lac.exe"; 
我想把這String寫入到win.ini 也就是說尋找win.ini 的run= 然後強制復蓋成run=lac.exe 有什麼作法(希望不要是指定行數的作法) 莊子‧華南真經:「為善無近名,為惡無近刑。」
給你一個範例
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  char szWinPath[MAX_PATH] = {0, };
  GetWindowsDirectory(szWinPath, MAX_PATH);
  AnsiString szWinIniPath = IncludeTrailingBackslash(szWinPath);
  // 取得Win.ini的路徑
  szWinIniPath  = "Win.ini";
  TIniFile* ini = new TIniFile(szWinIniPath);
  TStringList* SectionList = new TStringList();      __try
  {
    // 取得 Win.ini所有Section
    ini->ReadSections(SectionList);
    for (int i = 0; i < (SectionList->Count - 1); i  )
    {
      // 檢查每一個Section是否存在Key值"Run", 若有則覆蓋之.
      if (ini->ValueExists(SectionList->Strings[i], "Run"))
      {
        ini->WriteString(SectionList->Strings[i], "Run", "lac.exe");
      }
    }
  }
  __finally
  {
    SectionList->Free();
    ini->Free();
  };
}
Zard
尊榮會員


發表:24
回覆:396
積分:539
註冊:2003-11-26

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-11-23 09:20:28 IP:210.243.xxx.xxx 未訂閱
引言:
引言: 假若
String="run=lac.exe"; 
我想把這String寫入到win.ini 也就是說尋找win.ini 的run= 然後強制復蓋成run=lac.exe 有什麼作法(希望不要是指定行數的作法) 莊子‧華南真經:「為善無近名,為惡無近刑。」
給你一個範例
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  char szWinPath[MAX_PATH] = {0, };
  GetWindowsDirectory(szWinPath, MAX_PATH);
  AnsiString szWinIniPath = IncludeTrailingBackslash(szWinPath);
  // 取得Win.ini的路徑
  szWinIniPath  = "Win.ini";
  TIniFile* ini = new TIniFile(szWinIniPath);
  TStringList* SectionList = new TStringList();      __try
  {
    // 取得 Win.ini所有Section
    ini->ReadSections(SectionList);
    for (int i = 0; i < (SectionList->Count - 1); i  )
    {
      // 檢查每一個Section是否存在Key值"Run", 若有則覆蓋之.
      if (ini->ValueExists(SectionList->Strings[i], "Run"))
      {
        ini->WriteString(SectionList->Strings[i], "Run", "lac.exe");
      }
    }
  }
  __finally
  {
    SectionList->Free();
    ini->Free();
  };
}
忘了一點, 程式要多加這行 #include "IniFiles.hpp"
pkdemon
初階會員


發表:2
回覆:51
積分:25
註冊:2004-09-13

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-11-23 11:44:32 IP:211.22.xxx.xxx 未訂閱
hyushiang 你好,    在這邊提供一個Function 希望對你有幫助,這是我在VC++裡面所使用的    
BOOL WritePrivateProfileString(
  LPCTSTR lpAppName,  // section name
  LPCTSTR lpKeyName,  // key name
  LPCTSTR lpString,   // string to add
  LPCTSTR lpFileName  // initialization file
);    
發表人 - pkdemon 於 2004/11/23 11:47:15
系統時間:2024-06-19 2:26:11
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!