iniファイルRead・共有フォルダアクセス(メモ)
職場でプログラムできないので、
プロのプログラマーからプライベートプログラマーに転職予定のもっぱーです。
VC++ 2008を使ってツールを開発中です。
ツール名:ファイル監視君(仮)
内容:指定したファイルの更新日を監視し、
ファイルが更新されたら知らせるツール
共有フォルダ内のファイルを監視するのが目的。
しかし、VC++6.0しか使ってこなかった俺(浦島太郎)は
VC++2008は新世界の域なのでした・・・
色々見た目代わりすぎっすよorz
□今日覚えたこと
・VC++2008の使い方
・iniファイルの読み書き方法
・パスがかかった共有フォルダへアクセスする方法
-
-
- -
-
□iniファイルの読み書き方法(MFC)
CWinAppを使用してファイルの読み書きを行う。
ソース的には下記感じ
・ini読みソース
CWinApp *pWinApp=AfxGetApp();
CString strUser = pWinApp->GetProfileString( セクション名,キー名,既定の文字列,以下無視可能);
・iniファイルの中身
[セクション名]
キー名=StrUserに入れたい文字列
ちなみにiniファイルの指定は
C○○○○○App::InitInstance()のdlg.DoModal()前の行で
m_pszProfileNameの中身を書き換えればOK
(m_pszProfileNameのメモリをdeleteする必要あり)
あと、SetRegistryKeyはコメントアウトすべし。(レジストリを使おうとするので)
・・・ということを調べるのに半日かかった(主にワイド文字列やVSの操作で苦労した)んだが
普通のWin32APIで楽々いけることが判明した(しかも昔作ったコードだった)
GetPrivateProfileString(セクション名, キー名,格納用変数,変数のサイズ,iniファイル名);
・・・こっちのがはるかに楽だorz
-
-
- -
-
・パスがかかった共有フォルダへアクセスする方法
WNetAddConnection2関数を実行してやれば、ログインできる。
下記感じで使う。
NETRESOURCE ns;
ns.dwType=RESOURCETYPE_DISK;
ns.lpLocalName=_T("");//ローカル名、不要
ns.lpRemoteName=共有フォルダ名
ns.lpProvider=NULL;//プロバイダ名、不要
WNetAddConnection2(&ns,パスワード,ユーザ,CONNECT_UPDATE_PROFILE);